0

だから私がやろうとしているのは、Word文書を取り、改行を有効にしてプレーンテキスト.txtとして保存することです。マクロはこれを行う簡単な方法であると言われ、ある程度の成功を収めました。現在の私の最大の問題は、ドキュメントが現在のファイル名として保存されていないことです。周りを見回すと、ActiveDocument.Nameを使用すると言われていますが、何らかの理由で機能せず、ドキュメントはtxtファイルとして保存されますが、文字通りActiveDocument.Nameという名前になります。これは、VBAに関連するすべての試みであるため、おそらく私には見えない単純な小さな構文エラーです。これが私の現在のコードです:

Sub WordtoTxtwLB()
'
' WordtoTxtwLB Macro
'
'
    ActiveDocument.SaveAs2 FileName:= _
        "\\Path\Path\FILENAME.txt", FileFormat:= _
        wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
        WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
         SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False, Encoding:=1252, InsertLineBreaks:=True, AllowSubstitutions:=False, _
         LineEnding:=wdCRLF, CompatibilityMode:=0
End Sub

注:コード内のパスとファイル名を一般的なもの(つまり、「パス」と「ファイル名」)に変更したのは、物事を少し簡単/明確にするためです。したがって、cat.docというドキュメントがある場合は、マクロでそれを改行付きの同じファイル名の.txtファイルとして保存する必要があります。ヘルプ/提案はありますか?

4

1 に答える 1

2

FILENAMEという名前は引用符で囲まれているため、リテラルとして使用されます。変数として使用する引用符からそれを分離します。また、ActiveDocument.Nameを使用する場合は、文字列の一部としてサフィックス( "somefile.doc")が付けられます。接尾辞を削除する必要があります。

   Sub WordtoTxtwLB()
    '
    ' WordtoTxtwLB Macro
    '
    '
        Dim fileName As String
        myFileName = "New_File"

        ActiveDocument.SaveAs2 FileName:= _
            "\\Path\Path\" & myFileName & ".txt", FileFormat:= _
            wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
            WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
             SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
            False, Encoding:=1252, InsertLineBreaks:=True, AllowSubstitutions:=False, _
             LineEnding:=wdCRLF, CompatibilityMode:=0
    End Sub
于 2012-07-13T14:31:42.547 に答える