有谁知道如何在 Excel 中的现有列表对象中添加一列,该对象已经从 SQL 源绑定了一个数据源?我只想在该数据列的每个单元格中添加另一个带有公式的列,以匹配当时显示的任何数据量。
到目前为止,我有以下 2 个示例,1. 仅在运行时给出语法错误Syntax error: Missing operand before '=' operator
。2. 给出一个不起眼的 COM 异常。
1.
Dim prodDateCol = New DataColumn("Prod Date", GetType(System.Int32),
"=LEFT([Production Code],4)")
ComplaintsListObject.ListColumns.Add(prodDateCol)
2.
Dim objListCol = ProdListObject.ListColumns.Add()
Dim listColRange = objListCol.DataBodyRange
listColRange.Cells(1, 1) = "=LEFT([Production Code],4)"
我知道或者我可以在每次列表对象大小发生变化时首先检查之后使用 Excel 单元格执行此操作,但在更详细地研究如何执行此操作之前。我希望有一种方法可以使用列表对象执行此操作本身。
有人有任何例子或建议吗?
谢谢
更新:
我已经稍微调整了这个以进行测试,并且更多地查看了它的使用,.Expression
它只允许某些功能,所以我已经更改LEFT
为SUBSTRING
. 这个例子仍然返回一个 COM 异常Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Dim prodDateCol As DataColumn = New DataColumn
prodDateCol.ColumnName = "Prod Date"
prodDateCol.DataType = System.Type.GetType("System.Int32")
prodDateCol.Expression = "SUBSTRING([Production Code],1,4)"
ComplaintsListObject.ListColumns.Add(prodDateCol)