[英]Move data from MS Word to Excel
我有一個包含 400 道選擇題的 Microsoft Word 文檔。 我需要將所有這些文本放入 Microsoft Excel 圖表中,我認為如果我能夠擁有一個允許我選擇所有以a.
開頭的文本的宏會容易得多a.
並在a.
之后的第一個段落對象處結束該部分a.
.
我嘗試尋求幫助並被告知使用下面的宏,但該宏沒有做任何事情。 我只希望宏只選擇所有文本。 如果我要在 Microsoft Word 中手動執行此操作,我會按住ctrl並突出顯示所有以a.
開頭的文本a.
並在第一個段落對象處結束。
Sub Aselection()
'
' Aselection Macro
'
Dim pgh As Paragraph
For Each pgh In ThisDocument.Paragraphs
With pgh
If Left(.Range.Text, 2) = "a." And Left(Right(.Range.Text, 3), 2) = "a." Then
Debug.Print .Range.Text
End If
End With
Next
End Sub
ThisDocument
通常是指包含執行代碼的模板文檔。 請改用ActiveDocument
。
同樣正如@assylias 在他的評論中所說, Debug.Print
僅用於代碼調試目的。 用.Range.Select
替換整行。
這應該有效:
Sub Aselection()
Dim o As Object
Dim pgh As Paragraph
Set o = CreateObject("excel.application")
o.workbooks.Open ("E:\Aashay Data\Projects\Excel\Carton\Screen Printing.xlsx")
o.ActiveWorkbook.worksheets.Add.Name = "x"
o.ActiveWorkbook.worksheets("x").Activate
For Each pgh In ActiveDocument.Paragraphs
With o.ActiveWorkbook.worksheets("x")
Debug.Print pgh.Range.Text
If Left(pgh.Range.Text, 2) = "a." And Left(Right(pgh.Range.Text, 3), 2) = "a." Then
.Cells(i, 2).Value = pgh.Range.Text
i = i + 1
End If
End With
Next
o.Quit
End Sub
編輯:在查看並測試 lorem ipsum 文本后,我意識到 Word VBA 不允許您選擇多個不連續的段(有關更多信息,請參閱 MS 支持文章KB288424 )。 我想最簡單的方法是簡單地導出到 debug.print 所在的 excel,我已經相應地編輯了我的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.