[教えて!goo] EXCELのVBAで
EXCELでCSVファイルは,VBAなんか使わなくても
「名前を付けて保存」で「ファイルの種類」をCSVにすれば
いい。ただ、数値で桁数が多いものは、自動的に浮動小数点表示
になる関係で、使えない場合がある。
そこで、泥縄レスキュー隊の登場ですが、「そんなの簡単」と、
他の大量CSV変換で使っていたパターンを適用すると、
Excelでお仕事!「CSV形式テキストデータの書き出し」
依頼者曰く、
「”(ダブルクォート)は投入エラーになるから要らない!」
とのこと。
「エ!、そんなのコントロールできません」(心で叫び)
ようやくたどり着いたのが冒頭引用した考え方(私の書いた質問では
ありませんけど、タマタマ同じ悩みですね)。
このページを最初から見つければそれで終わりなんですが、
素人はそんな風に上手くはいかないもので、
私のもっとも信頼するアンチョコ本である
かんたんプログラミング Excel 2000 VBA 応用編
に簡単に説明してあるFSO(FileSystemObject)というライブ
ラリをキーワードにgoogle検索し、幾つかサンプルを見つけました。
例えば
FileSystemObjectの便利メモ
「OBJECT」という訳の分からんキーワードが出てきますが
深く考えず呪文と割り切る。
(完成)
動作も速いですね。なんせ、VBAの基礎がなくてサンプル
を見ながらの実践の中での学習ですから、効率が悪いんだな。
でも、身につく方法ですけどね。
質問:EXCELのVBAで
質問者:SHINYA-W
EXCELで、セルの内容をVBAでCSVにしたいのですが・・・
Dim S As String, I As Integer, D As Date
I = 123
S = "文字"
D = 2005/3/18
Open ・・・
Write #1, I, S, D
Close ・・・
とすると、
123,"文字",#2005-03-18# ・・・ となります。
123,"文字",2005/03/18 ・・・ とするには、何か方法ありますか?
また、文字の前後についている、"(ダブルコーテーション)を外して、
123,文字,2005/03/18 ・・・ とは出来ませんでしょうか?
<中略>
回答者:stouma
Dは文字列型にしました。
またTextStreamに書き込むためにFSとAという
変数を追加しました。
Dim S As String, I As Integer, D As String
Dim Fs As Object, A As Object
Set Fs = CreateObject("Scripting.FileSystemObject")
Set A = Fs.CreateTextFile("c:testfile.txt", True)
I = 123
S = "文字"
D = "2005/3/18"
A.WriteLine (I & "," & S & "," & D)
A.Close
出典(部分引用):href="http://oshiete1.goo.ne.jp/kotaeru.php3?q=1276491
EXCELでCSVファイルは,VBAなんか使わなくても
「名前を付けて保存」で「ファイルの種類」をCSVにすれば
いい。ただ、数値で桁数が多いものは、自動的に浮動小数点表示
になる関係で、使えない場合がある。
そこで、泥縄レスキュー隊の登場ですが、「そんなの簡単」と、
他の大量CSV変換で使っていたパターンを適用すると、
Excelでお仕事!「CSV形式テキストデータの書き出し」
依頼者曰く、
「”(ダブルクォート)は投入エラーになるから要らない!」
とのこと。
「エ!、そんなのコントロールできません」(心で叫び)
ようやくたどり着いたのが冒頭引用した考え方(私の書いた質問では
ありませんけど、タマタマ同じ悩みですね)。
このページを最初から見つければそれで終わりなんですが、
素人はそんな風に上手くはいかないもので、
私のもっとも信頼するアンチョコ本である
かんたんプログラミング Excel 2000 VBA 応用編
に簡単に説明してあるFSO(FileSystemObject)というライブ
ラリをキーワードにgoogle検索し、幾つかサンプルを見つけました。
例えば
FileSystemObjectの便利メモ
「OBJECT」という訳の分からんキーワードが出てきますが
深く考えず呪文と割り切る。
(完成)
動作も速いですね。なんせ、VBAの基礎がなくてサンプル
を見ながらの実践の中での学習ですから、効率が悪いんだな。
でも、身につく方法ですけどね。