- ベストアンサー
ACCESS2003 VBAテキスト編集
- ACCESS2003 VBAを使用して、テキストファイルの特定の部分を別のテキストに抽出する方法を教えてください。
- テキストファイルから特定の範囲のテキストを別ファイルに抽出するには、ACCESS2003 VBAを使用します。具体的には、テキストファイル内の「 」で囲まれた部分を取得し、その部分を別のテキストに保存します。
- ACCESS2003 VBAを使って、テキストファイルから特定の範囲のテキストを抽出し、別のファイルに保存する方法を教えてください。抽出する範囲は、テキストファイル内の「 」で囲まれた部分です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
shut0325です。 VBAでのコードは以下の2行です。 ボタンのクリックイベントにでも仕込んでください。 '---コード開始--- 'データのインポート DoCmd.TransferText acImportDelim, "myImport", "T_work", "C:\Import.txt", False, "" 'データのエクスポート DoCmd.TransferText acExportDelim, "myEX", "T_work", "C:\Export.txt", False, "" '---コード終わり--- これをきちんと機能させるためにはインポート/エクスポート用に「定義ファイル」を作らなければなりません。 今回はインポートの定義ファイルを"myImport" エクスポート用を"myEX”としています。 定義ファイルの作り方は、インポート/エクスポートウィザードの一番下に、「設定」というボタンがあるので、それを押し、設定をして、保存します。保存が済んだらインポート/エクスポート処理はキャンセルしてかまいません。 インポートではフィールド1と2の「スキップ」をチェック、エクスポートは「文字列の引用符」を「なし」にする以外は特にいじらなくてよいと思います。 "T_work"とは作業用のテーブル名です。インポートとエクスポートで一致していれば任意の名前でかまいません。 "C:\Import.txt" "C:\Export.txt" はそれぞれ、元ファイルと吐き出したテキストファイルですが、ここではCドライブ直下に元ファイル(Import.txt)があり、書き出しファイルは同じくCドライブ直下にExport.txtという名前で保存するようにしています。 任意で書き換えてもらってかまいません。
その他の回答 (1)
- shut0325
- ベストアンサー率40% (490/1207)
まずはVBAを用いないで手作業で目的を果たす方法を考えたほうがいいと思います。 元テキストを見ると、カンマ区切りのテキストで、文字列は必ず" "で区切られているので、「テーブルのインポート」で、該当のテキストデータを容易に" "のない、テキストの部分だけをテーブルとして読み込めます。 カンマ区切りで1つのフィールドとみなすので、テキスト部は3つめのフィールドになります。 具体的な読み込み方は、 1.「テーブル」欄(「デザインビューでテーブルを、、」とかあるところの何もない(白いバック)ところで、右クリック→「インポート」 2.ファイルの種類を「テキストファイル」にして、該当のデータを選んで「インポート」 3.ウィザードが開くので、最初の画面で、「区切り記号つき」で次へ 4.フィールド区切り記号:「カンマ」 テキスト区切り記号:" として次へ 5.データを保存する場所:どちらでも好みのほうで。 次へ 6.フィールド1とフィールド2の「このフィールドをインポートしない」にチェック 7.「主キーを設定しない」にチェック 次へ 8.好きなテーブル名を決めて(5で新規作成を選んだ場合)完了。 出来たテーブルをテキストとしてエクスポートすれば完成です。 1.該当テーブルを右クリックして「エクスポート」 2.ファイルの種類を「テキストファイル」 ファイル名は任意 で 「すべて」 3.「区切り記号付き」にチェック 次へ 4.区切り記号は今回は関係なしなので、どれでも。 テキスト区切り記号を「なし」 にして 完了。 今回の処理の利用頻度が低いならば、手作業でよいかと思います。 多い場合はマクロやVBAで行うといいかなと思います。
お礼
shut0325さん 詳しい説明で大変ありがとうございます。 例のようにやってみたらOKでした ありがとうございました