1

私はWordの調査ファイルを持っています。各ファイルには主題が記入されたフォームが含まれています。これまで、txtとして保存し、[フォームデータを区切りテキストファイルとして保存する]オプションを選択して、フォームデータを手動でエクスポートしてきました。

プログラムで、指定されたディレクトリにあるすべての.docドキュメントを区切りテキストファイルとして保存したいと思います。または、これが複雑すぎる場合は、一度に1つのファイルを保存するだけで十分です。新しいtxtファイルは、元の.docファイルと同じ名前である必要があります。

4

2 に答える 2

3

ジャン・シェイバルのご意見ありがとうございます。私はこのコードで解決策に到達したので、同じ問題に遭遇した人のためにそれを共有します。ここから助けてもらいました

Sub Save_Forms_Data()
    Application.ScreenUpdating = False
    Dim strFolder As String, strFile As String, wdDoc As Document, strDocName As String
    strFolder = CurDir
    If strFolder = "" Then Exit Sub
    strFile = Dir(strFolder & "\*.doc", vbNormal)
    While strFile <> ""
        Set wdDoc = Documents.Open(FileName:=strFolder & "\" & strFile,     AddToRecentFiles:=False, Visible:=False)
        With wdDoc
            strDocName = Left(.FullName, InStrRev(.FullName, ".")) & "txt"
            .SaveAs2 FileName:=strDocName, FileFormat:=wdFormatText,     AddToRecentFiles:=False, _
            SaveFormsData:=True, Encoding:=1252, InsertLineBreaks:=False, LineEnding:=wdCRLF
            .Close SaveChanges:=False
        End With
        strFile = Dir()
    Wend
    Set wdDoc = Nothing
    Application.ScreenUpdating = True
    Application.Quit SaveChanges:=wdDoNotSaveChanges
End Sub
于 2013-02-02T12:53:43.817 に答える
1

マクロを記録できます。つまり、記録を開始し、特定のアクションを実行してから記録を停止すると、そのアクションのVBAコードが自動的に生成されます。コードはあまりきれいではないかもしれませんが、構文がどのように見えるか、およびアクションに必要なコマンドを示すための良いスタートを切ることができます。特定のこと(たとえば、ファイル名を動的に指定すること)については、ドキュメントを参照する必要がありますが、一般的な言語でのプログラミング経験がある場合は、マクロによって提供される「スケルトン」があれば、これは重大な問題にはなりません。レコーダー。

自動化する必要があるほど、より多くのVBAを学習する必要があります。VBAは実際には難しくなく、自動化しないと目の前で多くの繰り返し作業が行われるように思われるため、VBAとGoogleで必要なことを学ぶことをお勧めします。このようにして、同様の時間枠で作業を完了し(特に、これが1回限りのことではない場合)、次回実行するマクロがあり、退屈ではなくなります。少しVBAを学びました。

于 2013-02-02T07:50:17.087 に答える