VBA文档。打开名称=始终";文件1“;
我试图通过Documents.open字符串打开word.docm文件。它可以工作并打开文件,但在WordHandle.Documents(x)中。名称始终为“Document1”。打开的文档也被命名为“Document1” 我做错了什么VBA文档。打开名称=始终";文件1“;,vba,ms-word,Vba,Ms Word,我试图通过Documents.open字符串打开word.docm文件。它可以工作并打开文件,但在WordHandle.Documents(x)中。名称始终为“Document1”。打开的文档也被命名为“Document1” 我做错了什么 Sub FileOpen(ByVal fileName As String) If Not gb_WordObjSet Then Exit Sub End If If Not FileExists(fileNam
Sub FileOpen(ByVal fileName As String)
If Not gb_WordObjSet Then
Exit Sub
End If
If Not FileExists(fileName) Then
Exit Sub
End If
With gh_WordObject
.Documents.Open fileName:=fileName, OpenAndRepair:=True
With .ActiveWindow.View
.Type = 3
.ShowAll = True
End With
End With
End Sub
文件名,例如=“C:\temp\20150702161254.docm”
gh_WordObject的初始化如下
Set gh_WordObject = CreateObject("Application.Word")
这与使用“打开并修复选项”在Word中手动打开文档时看到的行为相同。要查看此内容,请转到“文件打开”对话框中的“选择您的文档”,然后单击“打开”旁边的下拉箭头并选择“打开并修复”。这将基于原始文档创建一个新文档 要正常打开文档,请删除OpenAndRepair参数:
gh_WordObject.Documents.Open FileName:=s_DokFileName
或者将其设置为False:
gh_WordObject.Documents.Open FileName:=s_DokFileName, OpenAndRepair:=False
我们可以看一下您的其余代码吗?如何初始化
gh_WordObjSet
?谢谢它的工作!有时但很少生成的word对象会损坏。OpenAndRepair解决了这个问题。你知道为什么会发生这种腐败的共同来源吗?我必须调试大量代码=/.@Megamind-如果您仅通过Word对象模型访问文档(而不是直接操作文件),那么损坏不太可能是由您在代码中所做的任何操作造成的。如果您在使用特定模板时经常看到损坏,则可能表明该模板已损坏。@Megamind如果您希望能够处理存在损坏文档的情况,我将检查这是否会导致Open方法返回错误。如果是这样的话,您可以包含一些错误处理,以便在错误发生时尝试使用OpenAndRepair选项打开文档。