[英]Text after table in Word using VBA codes
我使用VBA代碼創建Word文檔,並將數據從Excel傳輸到在Word文檔中創建的表中。
在表格后開始新行/段落時出現錯誤。
我的代碼選擇整個表,但不會在表后開始新文本,因此以后的內容將添加到表中的cell(1,1)。
我只是向您展示代碼的結構,並且在代碼的Selection.Collapse
行出現錯誤。
運行時錯誤438,對象不支持此屬性或方法。
Sub Word_Report()
Dim objWord As Object
Dim objDoc As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()
With objWord.Selection
Set myTable = objDoc.Tables.Add(Range:=objWord.Selection.Range, NumRows:=7, NumColumns:=3)
myTable.Borders.Enable = True
''' my table contents'''
end with
'start new line after table
objDoc.Range.InsertAfter Chr(13) & "Hello"
.Font.Size = 11
.BoldRun
End sub
編輯
請嘗試以下操作:
Sub Word_Report()
Dim objWord As Object
Dim objDoc As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()
With objWord.Selection
Set myTable = objDoc.Tables.Add(Range:=objWord.Selection.Range, NumRows:=7, NumColumns:=3)
myTable.Borders.Enable = True
''' my table contents'''
End With
'start new line after table
objDoc.Range.InsertAfter Chr(13) & "Hello"
End Sub
使用.Range
而不是Selection
要在表格后立即插入文本,您必須將范圍設置為表格,然后將范圍折疊 。 插入表格,將所有數據放入表格中,格式化表格。
獲得所需的代碼后,請使用如下代碼,其中h1
是Word.Range
而objTemplate
是Word.Document
對象:
Set h1 = objTemplate.Tables(TableNum).Range
h1.Collapse Direction:=wdCollapseEnd
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.