我正在从csv文件中读取一个字符串,并尝试将其打印到word文档表中的相应单元格中。到目前为止我有这个,但它不断抛出集合不存在的错误:
Private Sub CommandButton1_Click()
Dim MyData As String, strData() As String
Open "D:\Users\file2.csv" For Binary As #1
MyData = Space$(LOF(1))
Get #1, , MyData
Close #1
strData() = Split(MyData, ",")
For i = 1 To UBound(strData)
ActiveDocument.Tables(1).Cell(i, 2).Range.Text = strData(i)
Next i
End Sub
基本上我正在获取数组的第i个元素并将其粘贴到第二列的第i行。
csv文件只有1行(总是只有一行),包含6个字段:
hello,world,blah,haha,yes,huh
为了安全(并且出于测试目的),我的表是一个8x8表,它仍然会在ActiveDocument...
行上抛出错误。
为了更安全,我有2个表,(以防我的表号关闭(不确定它是从1还是0开始))。
将该行更改为:
ActiveDocument.Tables(1).Cell(1, i).Range.Text = strData(i - 1)
它有效。但是,只有在我关闭用户表单后才会显示文本。如何在按钮单击时显示文本?
答案 0 :(得分:0)
事实证明我之后还有另一个功能,我没有使用。当我评论这个功能时,它起作用了。我仍然不知道为什么一个未使用的函数会阻止userform显示输入的数据,但它可以工作。
关于Collection不存在错误,我将行改为:
ActiveDocument.Tables(1).Cell(1, i).Range.Text = strData(i - 1)
现在它可以工作