【问题标题】:VbScript to save a current open Word documentVbScript 保存当前打开的 Word 文档
【发布时间】:2011-05-02 11:58:55
【问题描述】:

嗨 我想让 vbscript 保存当前打开的 Word 文档,我正在使用代码:

 Dim objWord As Object
    Set objWord = CreateObject("Word.Application")
    Set objDoc = objWord.Documents.Add()
    objDoc.Save

但它正在打开一个新的word文档,然后要求我保存。

我的要求是,如果文档已经保存在某个位置,它应该保存所做的更改,或者如果不是,它应该询问我的路径并将其保存在那里

谢谢 创作者

【问题讨论】:

  • 如果您有一个新文档并且您第一次尝试保存,实际上 Word 会询问您的路径,那么您为什么要尝试重建已经存在的功能?

标签: vbscript


【解决方案1】:

objWord.Documents.Add 表示创建一个新文档。

尝试: objDoc = objWord.ActiveDocument

【讨论】:

    【解决方案2】:

    尝试添加以下代码:

    Dim activeDoc
    Set activeDoc = objWord.ActiveDocument
    activeDoc.Save
    

    【讨论】:

      【解决方案3】:

      不要使用 VBScript,而是使用 VBA 宏,该宏将在进程中启动。使用“Application”对象将授予您对当前 Word 实例的访问权限,ActiveDocumentApplication.ActiveDocument 的缩写)将授予您对当前文档的访问权限。

      【讨论】:

        【解决方案4】:

        我必须做同样的事情,这就是我使用的:

        ' Create the File System Object
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        'Check for directory folder.
        If objFSO.FolderExists(strDirectory) Then
                Set objFolder = objFSO.GetFolder(strDirectory)
                Set objWord = CreateObject("Word.Application")
                objWord.Visible = True
        
                Set objDoc = objWord.Documents.Open(objFile.Path)
                objDoc.SaveAs objFSO.BuildPath(strDirectory, objFSO.GetFileName(objFile.Path))
                objDoc.Close
        etc...
        

        您必须填写其余部分并初始化变量,但这是有效的代码。

        HTH,

        詹姆斯

        【讨论】:

          猜你喜欢
          • 2013-06-06
          • 1970-01-01
          • 1970-01-01
          • 2021-10-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多