对于我的任务,我需要通过 Excel 使用 VBA 在 Word 文档中创建多个表格。这是我的代码
sub mainProcedure
Dim wApp As word.Application
Set wApp = createWordApplication
Dim wDoc As word.Document
Set wDoc = wApp.Documents.Add
Call createTables(wDoc, wApp)
end sub
sub createTables(wDoc as word.document, wApp as word.application)
dim table as word.table
'!!!
Set table = wDoc.Tables.Add(wDoc.Range(0, 0), 5, 5) 'Вот здесь и вся проблема. Помогите решить
'!!!
'Пробовал делать ещё таким образом
'set table = wDoc.Tables.add(wApp.Selection.Range,5,5)
table.Borders.enable = True
end sub
Function createWordApplication() As word.Application
Dim wApp As New word.Application
wApp.visible = True
Set createWordApplication = wApp
End Function
问题是什么:问题是,当执行带有表创建代码的行时(set table = wDoc.Tables.add(wDoc.Range(0,0),5,5)),第二个表创建在第一列已经存在的表的第一列。也就是说,创建第一个表并向其中输入数据。但是,当在此 wDoc 中创建另一个表时,它不会作为现有表下方的一行插入,而是直接插入到现有表本身中。我相信这与范围有关。我在调试过程中尝试了不同的方式,但没有任何效果。告诉我,如何确保新表格插入到文档末尾? 到目前为止,我已经通过创建多个与之关联的 wApp 和 wDoc 并在每个 wApp 和 wDoc 上创建表来解决了该问题。当然这不是一个很好的选择。一个wApp和wDoc需要有多个表格、文本等。

