一次将Word文件保存在多个位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次将Word文件保存在多个位置相关的知识,希望对你有一定的参考价值。

我想在5个不同的位置保存一个word文件。我的主要问题是我的代码只有在我在save中指定一个名称时才有效。我试过这个,但没有运气:

  ChangeFileOpenDirectory _
    "O:\xxxx"
ActiveDocument.SaveAs FileName:=
    "O:\xxxx" & Split(ActiveDocument.Name, ".")(0) & ".doc", _
    , FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
    AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
    EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
    :=False, SaveAsAOCELetter:=False, CompatibilityMode:=15
    ChangeFileOpenDirectory _
    "O:\xxx"
ActiveDocument.SaveAs2 FileName:= _
    O:\xxxx" & Split(ActiveDocument.Name, ".")(0) & ".doc", _
    , FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
    AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
    EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
    :=False, SaveAsAOCELetter:=False, CompatibilityMode:=15
    ChangeFileOpenDirectory _
    "O:\xxx"
ActiveDocument.SaveAs2 FileName:= _
    O:\xxxx" & Split(ActiveDocument.Name, ".")(0) & ".doc", _
    , FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
    AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
    EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
    :=False, SaveAsAOCELetter:=False, CompatibilityMode:=15
    ChangeFileOpenDirectory _
    "O:xxxx"
ActiveDocument.SaveAs2 FileName:= _
    O:\xxxx" & Split(ActiveDocument.Name, ".")(0) & ".doc", _
    , FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
    AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
    EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
    :=False, SaveAsAOCELetter:=False, CompatibilityMode:=15
    ChangeFileOpenDirectory _
    "O:\xxx"
ActiveDocument.SaveAs2 FileName:= _
    O:\xxxx" & Split(ActiveDocument.Name, ".")(0) & ".doc", _
    , FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
    AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
    EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
    :=False, SaveAsAOCELetter:=False, CompatibilityMode:=15

文件路径都不同,但文件名应该相同。它基本上应该只是取打开文档的名称。

答案

好吧,我会在循环中做到这一点:

Sub daf()
    Dim docCopy As Document
    Dim sPath(4) As String
    Dim sFileName As String
    Dim i As Long

    sPath(0) = "C:\zzz"
    sPath(1) = "c:\ddd"
    sPath(2) = "C:\ttt"
    sPath(3) = "C:\yyy"
    sPath(5) = "C:\ooo"

    sFileName = Split(ActiveDocument.Name, ".")(0)
    Set docCopy = Application.Documents.Add(ActiveDocument.FullName)

    For i = 0 To UBound(sPath)
        docCopy.SaveAs2 sPath & "\" & sFileName & ".doc", 12
    Next i

End Sub

如果您愿意,可以向saveAs2添加更多参数,就像在原始宏中一样。

以上是关于一次将Word文件保存在多个位置的主要内容,如果未能解决你的问题,请参考以下文章

如何一次将多个值发送到 Web 服务器 [关闭]

如何一次将多行保存到多个数据库表

有没有办法使用 Sequelize 一次将多个嵌入式模型保存在数据库中

如何使用 Windows 批处理文件或 vbs 脚本一次将多个文件 1 从 2 个文件夹复制到另一个文件夹

使用 Summernote File 一次将多个文件上传到服务器

如何一次将多个 csv 文件读取到 Google Colab