Home  >  Article  >  Software Tutorial  >  How to copy the contents of a table object inserted in a word document to Excel using VBA code

How to copy the contents of a table object inserted in a word document to Excel using VBA code

王林
王林forward
2024-01-07 12:22:26969browse

1. How to insert a table into a Word document using VBA code?

Inserting a table into a Word document in VBA is very simple. You can use the following code example:

Sub InsertTableInWord()
    Dim wdApp As Object
    Dim wdDoc As Object
    Dim wdTable As Object
    
    ' 创建Word应用程序对象
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True ' 如果需要可见Word应用程序,请设置为True
    
    ' 创建一个新的Word文档
    Set wdDoc = wdApp.Documents.Add
    
    ' 插入一个表格
    Set wdTable = wdDoc.Tables.Add(wdDoc.Range, NumRows:=3, NumColumns:=4)
    ' 更改表格的内容和格式
    ' ...
    
    ' 释放对象
    Set wdTable = Nothing
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub

This code will create a new Word document and insert a table into it. A table with 3 rows and 4 columns. You can modify the number of rows and columns of the table and further format the table content as needed.

2. How to copy the contents of Word table to Excel with VBA?

In VBA, you can use the following code to copy the table contents in the Word document to the Excel worksheet:

Sub CopyTableFromWordToExcel()
    Dim wdApp As Object
    Dim wdDoc As Object
    Dim wdTable As Object
    Dim xlApp As Object
    Dim xlWb As Object
    Dim xlSheet As Object
    
    ' 创建Word应用程序对象
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True ' 如果需要可见Word应用程序,请设置为True
    
    ' 打开Word文档
    Set wdDoc = wdApp.Documents.Open("C:\Path\To\Your\Word\File.docx")
    
    ' 获取Word文档中的表格
    Set wdTable = wdDoc.Tables(1) ' 假设表格在文档中的第一个位置
    
    ' 创建Excel应用程序对象
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True ' 如果需要可见Excel应用程序,请设置为True
    
    ' 创建一个新的Excel工作簿
    Set xlWb = xlApp.Workbooks.Add
    ' 在Excel工作簿中创建一个工作表
    Set xlSheet = xlWb.Sheets(1)
    
    ' 将Word表格复制到Excel中
    wdTable.Range.Copy
    xlSheet.Range("A1").PasteSpecial
    
    ' 释放对象
    Set xlSheet = Nothing
    Set xlWb = Nothing
    Set xlApp = Nothing
    
    ' 关闭Word文档
    wdDoc.Close False ' False表示不保存更改
    Set wdTable = Nothing
    Set wdDoc = Nothing
    wdApp.Quit
    Set wdApp = Nothing
End Sub

This code will open Word under a specific path document (please replace the path with your Word file path), copy the first table in it, and then paste it into the first cell (A1) of Excel. You can change the table index, the location of the target Excel worksheet, etc. as needed.

3. Summary

Using VBA, you can easily insert tables in Word and copy table contents in Word documents to Excel. By creating a Word application object and using the functionality of its object model, you can manipulate tables in a Word document, and then use an Excel application object to copy and paste table contents. These operations can be further extended and modified as required.

The above is the detailed content of How to copy the contents of a table object inserted in a word document to Excel using VBA code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:docexcel.net. If there is any infringement, please contact admin@php.cn delete