- 締切済み
access vbaでCSVファイルを文字列にしてエクスポートする方法
ACCESSのVBでクエリのフィールドデータをCSV形式にして なおかつすべてのセルを文字列にしてエクスポートしたいんですが 基本的なやり方がわかりません。 データが00012の時だとCSVにすると12として表示されるのそのまま 00012で表示させたいんです。 詳しい方教えていただけないでしょうか? よろしくお願いします。 ACCESSは2003を使っています。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
CSVファイルは全て文字列で構成されています。だから >CSVファイルを文字列にしてエクスポートする方法、と言う表題はおかしいとおもいます。 ーーー アクセス側で整えたかったら、アクセスのqueryで 計数B: Format([計数],"00000")のようなフィールドを作り そのqueryをエクスポートすればどうですか。下記では0数はquery名。 アクセスのモジュールで Sub test14() DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ "0数", "C:\Documents and Settings\xxxx\My Documents\yyyy.xls" End Sub で yyyyブック(既存)で、0数と言う名のシートが出来て、計数B列は文字列で左詰めでデータが入りましたが。 国名 計数B ID コード 計数 日本 00010 1 111 10 日本 00020 2 111 20 中国 00025 3 111 25 中国 00015 4 111 15
- chi3ru8
- ベストアンサー率0% (0/0)
わたしも素人同然なので的外れだったらごめんなさい。。。 クエリを右クリック⇒エクスポート⇒テキストファイルで、 出力するファイル名の拡張子をcsvにします。 次の画面の左下の「設定」の「フィールドの情報」にて、 "00012"と表示させたいフィールドのデータ型をテキストにします。 (ダブルクォーテーションをつけるかつけないかは 文字列の引用符にてお好きなものに変更してください。) それでOKを押してエクスポートすると、 "00012"という表記になりませんでしょうか。 ぜひ試してみてください。 すでにご存じでしたら申し訳ないです。
- kmetu
- ベストアンサー率41% (562/1346)
エクセルの形式で出力するといけそうな気はしますが…。 とりあえずその問題について解説しているページを紹介します。 CSV 形式ファイルを Excel で開く際の "001" 問題を回避する方法 http://www.f3.dion.ne.jp/~element/msaccess/AcTipsCSV001.html
- kmetu
- ベストアンサー率41% (562/1346)
アクセスでエキスポートするときの問題ではなくて エクセルで開くときの問題だと思います。 ファイルの拡張子をCSVからTXTにしてエクセルで開き その時に出てくるダイアログの最後で文字列として認識させてください。
お礼
解説ありがとうございます。 でもそれだと一回一回Excelで設定しないといけないということですよね? データの量が多いんでできればボタンを押したらテキストボックスで選んだフォルダにCSV形式で保存されるようにしたいんです。 それを開くともともと文字列になっているというのが理想なんですが、 不可能でしょうか?
お礼
大変参考になりました。 無事問題を解決できました。 本当にありがとうございました。