如何使用VBA

时间:2016-04-28 15:47:08

标签: excel vba excel-vba

我正在创建一个工作簿,该工作簿将使用图片填充嵌入的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

我收到了错误。

请有任何人在/知道之前遇到此错误修复它,我做了很多谷歌搜索仍然没有让我到任何地方。

1 个答案:

答案 0 :(得分: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