【问题标题】:How to save an embedded Word document in an Excel workbook as a separate file using VBA如何使用 VBA 将 Excel 工作簿中的嵌入 Word 文档另存为单独的文件
【发布时间】:2016-04-29 01:43:33
【问题描述】:

我正在创建一个工作簿,它将用图片填充嵌入的 Word 文档模板,然后将文档保存在其他位置,而不编辑嵌入的模板。 但是,当我尝试保存文档时,我收到一个运行时错误 4605,告诉我: “SaveAs 方法或属性不可用,因为正在另一个应用程序中编辑此文档”

这是打开模板的子:

Sub OpenWord()
'Opens the template when the main function first runs

    Set WDObj = Sheets("Template").OLEObjects("Template")

    WDObj.Activate
    WDObj.Object.Application.Visible = False

    Set WDApp = GetObject(, "Word.Application")

    Set WDDoc = WDApp.ActiveDocument                   

End Sub

在此之后,一个填充模板的主子运行,然后当我尝试使用以下方法保存文档时:

WDDoc.SaveAs "myDocument.doc", FileFormat:=wdFormatDocumentDefault

我得到了错误。

请问有没有人遇到过这个错误/知道要修复它,我已经做了很多谷歌搜索,但仍然没有找到任何地方。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    我在我的系统/安装上测试了以下内容:

    Sub OpenWord()
    'Opens the template when the main function first runs
    
        Dim WDObj As Object
        Dim WDApp As Object
    
        Set WDApp = GetObject(, "Word.Application")
        Set WDObj = Sheets("Template").OLEObjects("Template")
    
        WDObj.Activate
        WDObj.Object.Application.Visible = False
    
        WDApp.ActiveDocument.SaveAs ("YourFilename.doc")
        Set WDObj = Nothing
        Set WDApp = Nothing
    
    End Sub
    

    【讨论】:

    • 我已经尝试过多次迭代这段代码和我自己的代码,但我仍然得到同样的错误。我认为这可能是我的系统/安装的特定问题。
    • 重启/重启你的电脑? (完全关闭,不休眠等)
    • 不幸的是,我仍然看到同样的错误,我确实认为这可能是因为我在尝试保存文档时仍在编辑文档,但我不明白为什么会导致任何问题。
    • 在我的测试中,文档被嵌入并显示为图标。也许尝试(在干净的工作簿中)作为测试。即,尝试达到它工作的最小情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多