当前我正在尝试打开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日,这是我的一般描述等。
答案 0 :(得分:0)
我相信,我可能在这方面不正确,您可以简单地抑制警报,代码将自行完成。
为此,请添加 {(1}}在子程序的开头。
别忘了添加
在子程序结束时Application.DisplayAlerts = False
将其重新打开。
当Excel将控制权传递给Word并且很快得不到响应时,似乎会出现此消息,但我相信代码应该仍然执行。