簡體   English   中英

使用VBA代碼在Word中表格后的文本

[英]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

要在表格后立即插入文本,您必須將范圍設置為表格,然后將范圍折疊 插入表格,將所有數據放入表格中,格式化表格。

獲得所需的代碼后,請使用如下代碼,其中h1Word.RangeobjTemplateWord.Document對象:

Set h1 = objTemplate.Tables(TableNum).Range

h1.Collapse Direction:=wdCollapseEnd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM