VbScript 保存当前打开的 Word 文档

发布于 2024-11-04 17:42:05 字数 331 浏览 0 评论 0原文

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

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

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

我的要求是我在单击它时创建了一个菜单按钮,如果文档已经保存在一个位置,它应该保存所做的更改,或者如果不是,它应该询问我路径并将其保存在那里

谢谢 创作者

hi
I want vbscript to save a current open Word document, I am using the code:

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

but it is opening a new word document and then asking me to save.

My requirement is i have created a menu button on click of it if the doc is already saved at a location it should save the changes made or if it is not it should ask me the path and save it there

Thanks
Creator

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

鼻尖触碰 2024-11-11 17:42:05

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

尝试:
objDoc = objWord.ActiveDocument

objWord.Documents.Add means creating a new document.

Try:
objDoc = objWord.ActiveDocument

许仙没带伞 2024-11-11 17:42:05

尝试添加以下代码:

Dim activeDoc
Set activeDoc = objWord.ActiveDocument
activeDoc.Save

Try adding the following code:

Dim activeDoc
Set activeDoc = objWord.ActiveDocument
activeDoc.Save
昵称有卵用 2024-11-11 17:42:05

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

Instead of using VBScript, use a VBA macro, which will be started in-process. Using the "Application" object will grant you access to the current Word instance, and ActiveDocument (which is short for Application.ActiveDocument) will give you access to the current document.

决绝 2024-11-11 17:42:05

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

' 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,

詹姆斯

I had to do the same thing and this is what I used:

' 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...

You will have to fill in the rest and init the variables, but this is working code.

HTH,

James

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文