2017-12-20 3 views
0

다른 위치에 단어 파일을 저장하려고합니다. 내 주요 문제는 내 코드가 저장 부분에 이름을 지정하는 경우에만 작동한다는 것입니다. 나는 이것을 시험해 보았지만 행운은 없었다 :한 번에 여러 위치에 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

늦게 답장을 보내 주셔서 감사합니다. 그래,이 또한 효과가있다. 난 그냥 조금 differntly 않았다 : D 조 – Beryllium

관련 문제