【发布时间】:2018-08-17 17:03:48
【问题描述】:
该表在 MS WORD 中,但我正在尝试使用 VBA 循环它。目前我有从源中提取的数据,并希望在 MS Word 中输入表格。该表包含多行和 2 列。数据将在每行的第二列中输入。现在,我有很多数据,我不可能继续指定每个行号,因此我想找到一种方法,在填充单元格时添加一个额外的行。
在 Excel 中,这组代码可以工作,但不能在 word 中工作。
Do While (Len(Worksheets("Overall Performance").Cells(NewRecordRow, 12).Value) <> 0)
NewRecordRow = NewRecordRow + 1
Loop
目前这就是我所拥有的。
Dim intNoOfRows
Dim intNoOfColumns
Dim objWord
Dim objDoc
Dim objRange
Dim objTable
intNoOfRows = 1 (Initially 6 because I Preset it)
intNoOfColumns = 2
Set objWord = CreateObject ("Word.Application")
Set objDoc = objWord.Document.Add
objDoc.Tables.Add objRange, intNoOfRows, intNoOfColumns
Set objTable = objDoc.Tables(1)
objTable.Borders.Enable = True
For Each cell(intNoOfRows,2) in objDoc.Table(1).range.cells
If Len(cell.range.text) <1 Then
intNoOfRows = intNoOfRows + 1
End if
Next
ObjTable.Cell(intNoOfRows,2).Range.Text = "ABC"
【问题讨论】:
-
你能解释一下你的问题和代码吗,因为不清楚你想在这里做什么。
-
目前我有从源中提取的数据,并希望在 MS Word 中输入表格。该表包含多行和 2 列。数据将在每行的第二列中输入。现在,我有很多数据,我不可能继续指定每个行号,因此我想找到一种方法在单元格被填充时添加一个额外的行
-
您可以随时编辑您的问题,并在此处插入此说明,以便每个人都可以彻底阅读您的问题。
-
在 Excel 中,这组代码可以工作,但不能在 word 中工作。. Do While (Len(Worksheets("Overall Performance").Cells(NewRecordRow, 12).Value) 0) NewRecordRow = NewRecordRow + 1 循环
-
您的数据来自哪里?听起来您只想创建一个 Word 表,源数据中的每一行都有一行。这个对吗?如果是这样,很可能有更简单的方法来做你想做的事。