• ベストアンサー

Accessで外部テキストファイルへ書き込み

Access2010にて、クエリをテキストファイルでエクスポートするように致しました。 エクスポートされたテキストファイルの先頭行に1~3行程度の文章を追記したいです。 その場合、VBAでどのように記述すれば良いのでしょうか。 ご回答の程、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

http://gallery.technet.microsoft.com/scriptcenter/8229fa0d-f0d3-44be-a4a7-3ee3f249bcfd 上記にほぼ必要なコードが書かれています。 一部を手直しすると、 Const ForReading = 1 Const ForWriting = 2 Dim objFSO As Object Dim objFile As Object Dim strContents As String Dim strFirstLine As String Dim strNewContents As String Dim strPath As String strPath = "C:\Scripts\Test.txt" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile(strPath, ForReading) strContents = objFile.ReadAll objFile.Close strFirstLine = "This is the new first line in the text file." strNewContents = strFirstLine & vbCrLf & strContents Set objFile = objFSO.OpenTextFile(strPath, ForWriting) objFile.WriteLine strNewContents objFile.Close これで、先頭行に 「This is the new first line in the text file.」 という文字列が挿入されます。 >先頭行に1~3行程度の文章を追記 行を変えるときは、vbCrLf を挟めば改行されます。

関連するQ&A

  • ACCESSからテキストファイルへのエクスポート

    ACCESS2002でVBAを使ってテキストファイルにエクスポートしようとすると 次のようなエラーが出てしまいます。 「予期せぬエラー #3027が発生しました。 データベースまたはオブジェクトは読み取り専用なので更新できません。」 これを回避するにはどうしたらいいのでしょうか。 ちなみにVBAの記述は DoCmd.TransferText acExportDelim, "", "抽出クエリ", "a:\nk100.txt" , False, ""という記述です。

  • 【Access】エクスポート時のファイル名規則

    お世話になります。 Access2010にてクエリの内容をテキストファイルでエクスポートするツールを作成しました。 エクスポート自体は問題ありませんが、ファイル名として感嘆符(!)を付けたいのですが、以下のメッセージが表示されエラーとなります。 ※!は半角です。 実行時エラー2006 指定したオブジェクト名'!test.txt'はMicrosoft Accessの名前付け規則に従っていません。 ちなみに以下のようなVBAです。 DoCmd.TransferText acExportDelim, "エクスポート定義", "エクスポートクエリ", "C:\!test.txt" !付きのファイル名を変数に入れて指定してみましたが、同じエラーが出てしまいます。 どうにか!付きファイル名でエクスポートすることは出来ないでしょうか。 ※普通に手動で!付きのファイルを作成することはできますので、Accessのエクスポート時の制限かなにかでしょうか。。 ご教授の程、宜しくお願い致します。

  • Microsoft アクセスでのファイル操作

    マイクロソフトアクセス2000を使用しています。 クエリをエクセルにエクスポートさせた後、作られたエクセルファイルを、アクセスのフォームのテキストボックスに入力された値をファイル名の先頭につけて別のフォルダにコピーしたいのですが、どうやればできるのでしょうか。

  • ACCESSで、テキストファイルをインポートしたい

    宜しくお願い致します。 ACCESSで、テキストファイルをインポートしてテーブルを作成したいのですが、ファイル→インポートを選択して、ウィザードを開く方法は分かるのですが、マクロを作成してインポートは出来ないでしょうか? excel、CSVファイルでしたら、「ワークシート変換」、「テキスト変換」のマクロでインポートしたりエクスポートしたり出来ると思うのですが・・・、 (1)テキストファイルをインポートしたり、エクスポートしたりする場合、どのようなマクロがあるのでしょうか。 (ためしに、「出力」マクロで、あるテーブルをCSVファイルにエクスポートしてみたのですが、カンマ区切りにできず、excelのような枠付きのテキストファイルになってしまいました。) (2)容量が大きいデータの場合は、テキストファイルでエクスポートしたほうが良い・・・という認識に間違いはありませんでしょうか。 質問が一つ増えてしまいましたが、宜しくお願い致します。

  • アクセス~エクセルファイルを開く~アクセス終了

    アクセスVBAで、クエリ実行→エクセルシートへエクスポートしているのですが、その後、あるエクセルファイル を開いて、アクセスを終了させたいのですが、どのようなコードになりますでしょうか? ※エクセルファイルは、開いた後作業します。

  • Accessのデータをテキストファイルで出力する方法を教えてください。

    Accessのデータをテキストファイルで出力する方法を教えてください。 クエリで抽出したデータをテキストファイルに出力したいのですが、下記のような記述では""や,で区切られてしまいます。 DoCmd.TransferText acExportDelim, "", "クエリ名", "出力ファイル.txt" フィールドごとに改行して出力する方法はないでしょうか? <クエリ結果> フィールド1  フィールド2  フィールド3 aaa      bbb      ccc <出力テキストファイル> aaa bbb ccc

  • Accessのテキストボックスのメモ型について

    Access2007のテキストボックスのメモ型に関してですが、1行目に定型文を入れて、2行目から文章を入力するようにしたいのですが、どのようにしたらよいでしょうか? このような感じです。 平素より、大変お世話になっております。←この行は全レポート共有 このたび、・ ・ ・ ・ ・ ・ ・ ←この行からはレポート毎に違うテキストを入力 できればタブ移動した際にカーソルが2行目の先頭にあるようにしたいのです。 教えてください

  • ACCESS2003を使用しています。

    ACCESS2003を使用しています。 選択クエリからテキスト変換(マクロ)でテキストファイルをエクスポートします。 その選択クエリのフィールド名に、ある都合で"#"の文字列を入れているのですが、 エクスポートされたテキストファイルを見ると"."に変わってしまいます。 (例) #ID → .ID エクスポート定義の文字コードをいろいろ変えてみましたがダメでした。 ちなみに、 ・選択クエリを選択しての右クリックからエクスポートを実施しても同じです。 ・選択クエリを開いて、全選択Ctrl+A→コピーCtrl+C→テキストファイルに貼り付けCtrl+Vをすると、  きちんと"#"で貼り付けされます。 どなたか、対処法or原因を教えてください。

  • VB2005でテキストファイルの操作

    vb2005でテキストファイルを開き任意の行の編集を行いたい 最終行に追加する方法はわかったのですが 任意の行の編集方法がどのように実装してよいのかわかりません 編集したいテキストファイルは 各行の長さはまちまちです 普段は追記で文章が追加されますが 一定行になると再び最初の行(もしくは指定の行)から 上書きというのは可能なのでしょうか?

  • ACCESS で 項目名を出力せずにエクスポートしたい

    いつもありがとうございます。 今回、ACCESSのテーブルをCSV形式でエクスポートする事を試みているのですが、出力されたCSVファイルの先頭行に項目名がくっついてしまいます。 この先頭行を出力しないでエクスポートするにはどうすればいいでしょうか?

専門家に質問してみよう