我最近在我的工作中負責了客戶端的文檔標準化工作。他們是政府,所以我不能以示例的方式發佈任何內容以供參考。抱歉。VBA將Microsoft Word書籤和選擇文本導出到Excel電子表格
我想在VBA中做的是有一個大約80個書籤的Word文檔(有27個文件,我必須這樣做)將書籤的.Name
和.Selection
提取到Excel工作表。
作爲一個例子,我提供以下內容:
你好,我的名字是世界!
如果上面是一個word文檔,World!
是書籤的.Selection
和(Doc_World
)將是書籤名稱。我正在嘗試編寫將把"Doc_World"
和"World!"
寫入Excel工作表的宏。
最後一個警告是目前沒有任何標準化的東西,所以我需要它在當前打開的文檔中循環瀏覽書籤。
我實際上設法找到了一些我想做的事情,然後將我發現的其他一些信息拼接起來創建一些工作,但您必須事先創建所有xls文件。 @RachelHettinger比我自己想出了更多更優雅的答案。爲了參考,以下是我的frankenstein:
Sub WdBkMktoXL()
Dim ObjExcel As Object, ObjWorkBook As Object, ObjWorksheet As Object
Dim Bmk() As String
Dim x As Integer, J As Integer
Set ObjExcel = CreateObject("EXCEL.APPLICATION")
Set ObjWorkBook = ObjExcel.Workbooks.Open("C:\Users\Zach\Desktop\ETTP\TermsAndConditions\1.xlsx")
Set ObjWorksheet = ObjWorkBook.Worksheets("Sheet1")
x = ActiveDocument.Bookmarks.Count
ReDim Bmk(x)
For J = 1 To x
Bmk(J) = ActiveDocument.Bookmarks(J).Name
ObjWorksheet.Range("A" & J) = ActiveDocument.Bookmarks(J).Range.Text
ObjWorksheet.Range("B" & J) = ActiveDocument.Bookmarks(J).Name
Next J
ObjWorkBook.Save
ObjWorkBook.Close
Set ObjWorksheet = Nothing
Set ObjWorkBook = Nothing
ObjExcel.Quit
Set ObjExcel = Nothing
End Sub
- 感謝您的解決方案! – user1059110