
HTAでmdbからデータを抽出しcsvファイルに保存をする際に1行1レコードで保存をしたいのですが、
保存したcsvをExcelで開くと改行を含むフィールドが1セルに入ってくれません。
改行コードを別の文字列にすれば1セルに収まりますが、
その場合、Excelを開いた後に改行コードの代替文字列の置換を
しなければならないため、csv保存の段階で改行を含む状態で保存をしたいのです。
ダブルクオーテーションで括ればよいかと考えたのですがうまくいきません。
どなたかアドバイスをいただけませんでしょうか。
よろしくお願いします。
sql = "select * from tbl_log"
with rs
.Open sql, cn, 3, 3
If not .EOF then
Do while not .EOF
For i = 0 to .Fields.Count-1
buf = buf & """" & Replace(.fields(i),vbcrlf,vblf) & ""","
Next
buf = Left(buf,Len(buf)-1)
buf = buf & vbcrlf
.MoveNext
Loop
End If
.Close
End with
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
質問の内容をうまく読み取れないので・・・確認させてください。
「1つのセルに複数の文字列をセル内改行して表示したい」ということでいいでしょうか。
違ったら、無視してください。
あっていれば、以下の例のように出力してやればセル内改行表示になります。
ソースは修正中のようなので出力イメージを書いておきます。
(例)CSVファイルの出力イメージ
"aaaaa<LF>
bbbb<LF>
cccc<LF>
dddd"<CRLF>
※<LF>、<CRLF>は改行コード(制御コード)です。

No.1
- 回答日時:
改行を先に処理しておいて、
docmd.Transfertext acExportDelim
を使うのはいかがでしょうか?
この回答への補足
16Augustさん
ご返信ありがとうございます。
説明が不足しておりました。
DBとしてmdbは使用していますがAccessは使用していませんので、
docmdコマンドは使えないのです。
現在はFileSystemObjectでテキスト保存をしております。
別の方法を検討します。
ありがとうございます。
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLogFile = objFSO.CreateTextFile(expfile, ForWriting, True)
objLogFile.Write buf
objLogFile.Writeline
objLogFile.Close
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
エスケープ文字の復帰(¥r)と...
-
ソースコードの1行が長いとき...
-
VBAでCSVをExcelに取り込む時に...
-
aspで作成するcsvファイルで、e...
-
vb.netでのリッチテキストボッ...
-
COBOLの改行
-
最終行の改行について
-
Excel VBAからBeckyを起動して...
-
jsp 改行コードで改行させて表...
-
改行コード2種類を混在させたい
-
C言語の標準入力で改行しない方法
-
delphi でのコード上でTab を入...
-
(UWSC)1行が長いので、途中改行...
-
awkで改行を除いて文字列を抜き...
-
テキストボックス行の桁数を制...
-
DataGridView編集中のイベント取得
-
JAVA Spring 改行コードを含む...
-
コンボボックスの項目中に改行を
-
変数の中の改行コードをBRタグ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
C++で空Enterの入力を判...
-
VBAでCSVをExcelに取り込む時に...
-
改行について
-
改行を読み飛ばす
-
テキストボックス行の桁数を制...
-
C# DataGridViewのセルを改行禁...
-
LaTeX: captionの中で改行した...
-
JAVA System.out.println の ...
-
エクセルVBA 文字列領域が不足...
-
最終行の改行について
-
グレープシティのSPREAD...
-
【VBA】エクセルで最後の不要な...
-
jsp 改行コードで改行させて表...
-
ラベル(スタティックテキスト)...
-
1行ごとに取得して、その改行...
-
ファイルから読み取った改行文...
-
JavaDoc コメントの改行について
おすすめ情報