我有一个简单的宏,可以使用Excel打开Word文档。我确保正确引用了Word对象库,但在运行此宏时,它会在调用Documents.Open之后冻结(基于我在调试器中看到它失败的位置)。我不知道它是否是OLE自动化错误,但宏冻结,我必须强行关闭Excel。
Public Const Dir = "C:/Temp/"
Public Const File = "temp.docx"
Public Sub OpenFile()
Dim f As String: f = Dir & File
Dim oWord As Object, oDoc As Object
Set oWord = CreateObject("Word.Application")
Set oDoc = oWord.Documents.Open(f)
oDoc.Visible = True
End Sub
我也收到了这条消息:(即使没有其他应用程序打开)
是否可以使用Excel打开文件以及如何重写程序?
答案 0 :(得分:0)
根据要求 - 这是一个常见问题
您应该更改Dir
变量 - 这是一个保留名称 - 并且您可能会在尝试打开该“文件”时看到Word错误。
您也应该更改File
变量名称 - 根据您设置的引用,这也可以是保留字
添加了评论:
关于冻结 - 您可以删除oDoc.Visible = True
语句,并将其替换为oWord.Visible = True
BEFORE 问题陈述Set oDoc = oWord.Documents.Open(f)
。这会弹出错误,表明你的文件名有问题