配列に収められている数値データをコンマ区切り形式で出力する方法を教えて下さい。昔FORTRANでよく使っていたんですが。
編集 削除配列の数値データが取得できているのであれば
http://www.bcap.co.jp/hanafusa/VBHLP/txt01.htm
を見れば簡単かと
いなさん、すっごいレス早〜い!
要は普通にただWriteすればいいだけなんですけどねえ・・
> 昔FORTRANでよく使っていたんですが。
Basicだって普通によく使ってますよ。
どっこい現役だい、OpenにWriteちゃん。
書き方はいろいろと工夫してください。
Open MyFil For Append As FileNo
Write FileNo, " ", CStr(MyArray(0)), CStr(MyArray(1)),・・・
Close FileNo
みたいなのが基本形ですね。
fortranでやっていたような
(MyArray(i),i=1.10))のような簡単なまとめ方はできないということですか。
for i=1 to 10
write MyAray(i)
next i
とかするしかないんですか。
なんか、はずしちゃったみたいで失礼しました。
コーディング上、1行が3行になるのが納得いかないのではない
として、問題はFor i=1 to 10の10の(ループの上限値の)ところが
気に入らない、動的に可変させたい、とおっしゃるのでしたら
そこをUBound(MyArray)で済むのですが、、、
なんだか、今回も「だからそんなこと聞いてるのではない」と??
Write FileNo, " ", CStr(MyArray(0)), CStr(MyArray(1)),・・・
このMyArrayが100まで続くとき、
for〜nextのloop文を使わずにすむような(fortran的)命令が無いか
知りたかったんです。
まぁ、単純にFor-Nextするよりはオレ的のForEach-Nextの方が好きなんだが…
dim v as variant
for each v in array(0,3,5,7,8,9,10,321,22,-8.23)
debug.? v;" "
next
駄レスか…(orz
Join 関数で簡単に出来ますけど。
intFileNo = FreeFile
Open "test.csv" For Output As #intFileNo
Print #intFileNo, Join(MyArray, ",")
Close #intFileNo
数値をバリアント型の配列に入れて置き書き出すときにJoin関数を
使ってまとめるとか
Dim a(10) As Variant
Dim i As Long
Dim strA As String
For i = 0 To 10
a(i) = i * 2
Next
strA = Join(a, ",")
Debug.Print strA
別にループで問題なければループを使うのが簡単かと。
なんか、思いっきりかぶっているみたいでもうしわけない。
編集 削除>いなさん、すっごいレス早〜い!
ちょっと調べ物をしていたので、、、
>配列に収められている数値データをコンマ区切り形式で出力する方法
って内容から単純にFAQレベルの質問かと思ったよ。
でも、こんなスレの発展の仕方をしているとは・・・。激しく誤爆だった
#本日中にSTを終わらせないと
いろいろ教えていただいてありがとうございました。
結局
別にループで問題なければループを使うのが簡単かと。
このままでやります。
なにか簡単な表記方法があるかと思っておたずねしたんでしたが。