VBA Documents.Open Name =始终为“Document1”

时间:2015-07-02 14:06:04

标签: vba ms-word word-vba

我试图通过带有Documents.Open的字符串打开一个单词.docm文件。它工作并打开文件但在WordHandle.Documents(x).Name中它始终是“Document1”。打开的文档也被命名为“Document1”

我做错了什么?

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

fileName,例如=“C:\ temp \ 20150702161254.docm”

gh_WordObject像这样初始化

Set gh_WordObject = CreateObject("Application.Word")

1 个答案:

答案 0 :(得分:0)

如果您使用“打开并修复”选项在Word中手动打开文档,则会出现这种情况。要查看此内容,请转到“文件打开”对话框中的选择文档,然后单击“打开”旁边的下拉箭头,选择“打开并修复”。这将基于原始文档创建一个新文档。

要正常打开文档,请删除OpenAndRepair参数:

gh_WordObject.Documents.Open FileName:=s_DokFileName 

或将其设为False:

gh_WordObject.Documents.Open FileName:=s_DokFileName, OpenAndRepair:=False