【问题标题】:How to Documents.add inside of my current working directory VBA MSWord如何在我当前的工作目录 VBA MSWord 中添加 Documents.add
【发布时间】:2022-10-11 21:07:50
【问题描述】:

这是我一直在尝试做的事情:

Set myCopy = Documents.Add(ActiveDocument.FullName) ActiveDocument.Path
And...
Set myCopy = Documents.Add(ActiveDocument.FullName) & ActiveDocument.Path

它不起作用,因为我无法弄清楚语法。谁能帮帮我?

此外,我无权访问 Windows 上的 Default Documents 文件夹。因此,如果我创建一个复制的文档,默认情况下会在 Documents 文件夹中创建它。

我用来确定这一点的证明是:

Set myCopy = Documents.Add(ActiveDocument.FullName)
myCopy.SaveAs2 (ActiveDocument.Path & docName)

这表明它填充在我无法访问的默认文件夹中,因此我无法调用此命令:

myCopy.SaveAs2 (".\Payload\" & docName)

任何帮助,将不胜感激。

【问题讨论】:

  • 为了澄清起见,一旦复制的文档已经位于我原始工作目录之外的另一个目录中,我就不能使用相对路径。我需要使这段代码相对。
  • VBA 不使用相对路径。您始终需要指定完整路径。就语法而言,这就是 F1 按钮的用途。

标签: vba ms-word


【解决方案1】:

Documents.Add 不采用路径变量 - 您只能在保存时添加路径。因此,例如:

Set DocSrc = ActiveDocument
Set DocTgt = Documents.Add(DocSrc.Fullname)
DocTgt.SaveAs FileName:=DocSrc.Path & "" & DocName & ".docx", FileFormat:=wdFormatXMLDocument, AddToRecentFiles:=False

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 2015-02-22
    • 2016-01-06
    • 2011-06-19
    相关资源
    最近更新 更多