Microsoft Access 掲示板

DoCmd.TransferTextの書き出すファイル名の先頭に日付を入れたいです

2 コメント
views
4 フォロー

お世話になります。

    Dim pass As String
    pass = "¥フルパス"

    DoCmd.TransferText acExportDelim, "テキスト変換", "テキスト用テーブル", pass & "¥書き出し.txt", False, ""

このコードで書き出される「書き出し.txt」というファイル名を、今日の日付+ファイル名にしたいです。例えば今日なら「20231227書き出し.txt」というファイル名にしたいです。

DoCmd.TransferText acExportDelim, "テキスト変換", "テキスト用テーブル", pass & "¥" & Date & "書き出し.txt", False, ""

と試しに書いたところ、実行時エラー3044
パスが正しくないという旨のエラーが出ました。

Anonymous
作成: 2023/12/27 (水) 09:50:16
最終更新: 2023/12/27 (水) 10:04:08
通報 ...
1
hiroton 2023/12/27 (水) 11:29:23 1ade1@f966d
pass & "¥" & Date & "書き出し.txt"

ここのDate今日の日付データですね。これのデータ型は「日付型」で、文字列処理に使うと自動的に型変換が行われ、通常、「YYYY/MM/DD」の書式の文字列になります(たとえば「2023/12/27」など)
この結果生成される文字列は

[pass]¥2023/12/27書き出し.txt

のようになります。([pass]のところは提示がないので適当に読み替えてください)

windowsではファイル名(ファイルパス)に「/」が使えないのでエラーになります
このため、ファイル名として使うためには自前で変換処理を入れる必要があります

「20231227書き出し.txt」というファイル名にしたい

ということならば、Format関数で書式を設定すると良いでしょう

pass & "¥" & Format(Date, "YYYYMMDD") & "書き出し.txt"
2
Anonymous 2023/12/27 (水) 16:07:15 7fdfc@44ebd >> 1

上手い事できました!ありがとうございました