2017-12-20 72 views
0

5つの異なる場所に単語ファイルを保存しようとしています。私の主な問題は、私のコードはsave asの部分に名前を指定した場合にのみ機能することです。私はこれを試みたが運がなかった:Wordファイルを一度に複数の場所に保存する

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 

ファイルパスはすべて異なるが、ファイル名は同じでなければならない。基本的には、開いている文書の名前を取るだけです。

答えて

2

だけでなく、私はループでそれを行うだろう:

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に多くの引数を追加することができます。

+0

ご返信ありがとうございます! しかし、これもうまくいきました。 私はちょうど少し異なってそれをやった:D – Beryllium

関連する問題