VBA单词查找/段落复制

时间:2015-07-09 16:17:49

标签: excel vba ms-word

当前我正在尝试打开word文档,查找某个单词(在本例中为“Description”),然后在下面两行并复制其下的段落。

以下是代码:

Sub getTextFromWord()

Dim WordApp As Object, WordDoc As Object

file = "C:\filepath\Document.docx"
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = False
Set WordDoc = WordApp.Documents.Open(file)

With Selection.Find
    .Forward = True
    .Wrap = wdFindStop
    .Text = "Description"
    .Execute
End With

'Selection.MoveDown Unit:=wdLine, Count:=2
'Selection.StartOf Unit:=wdParagraph
'Selection.MoveEnd Unit:=wdParagraph
'Selection.Copy
'Range("A1").PasteSpecial

WordDoc.Close
WordApp.Quit
Set WordDoc = Nothing
Set WordApp = Nothing

End Sub

当我尝试运行它时(当前Selection.MoveDown部分被注释掉)或者我得到450错误或者从Excel弹出一条说“Microsoft Excel正在等待另一个应用程序完成OLE操作”。任何帮助将不胜感激。

我试图复制的文件格式基本上是:

日期:2015年7月9日

描述

这是一般性描述。今天是2015年7月9日,这是我的一般描述等。

1 个答案:

答案 0 :(得分:0)

我相信,我可能在这方面不正确,您可以简单地抑制警报,代码将自行完成。

为此,请添加 {(1}}在子程序的开头。

别忘了添加 在子程序结束时Application.DisplayAlerts = False将其重新打开。

当Excel将控制权传递给Word并且很快得不到响应时,似乎会出现此消息,但我相信代码应该仍然执行。