配列のデータをコンマ区切りで出力するには

解決


ikagy  2004-12-13 21:14:54  No: 118283  IP: [192.*.*.*]

配列に収められている数値データをコンマ区切り形式で出力する方法を教えて下さい。昔FORTRANでよく使っていたんですが。

編集 削除
いな  2004-12-13 21:17:38  No: 118284  IP: [192.*.*.*]

配列の数値データが取得できているのであれば

http://www.bcap.co.jp/hanafusa/VBHLP/txt01.htm

を見れば簡単かと

編集 削除
たくみ  2004-12-13 21:47:03  No: 118285  IP: [192.*.*.*]

いなさん、すっごいレス早〜い!

要は普通にただWriteすればいいだけなんですけどねえ・・
> 昔FORTRANでよく使っていたんですが。
Basicだって普通によく使ってますよ。
どっこい現役だい、OpenにWriteちゃん。

書き方はいろいろと工夫してください。

    Open MyFil For Append As FileNo
    Write FileNo, "  ", CStr(MyArray(0)), CStr(MyArray(1)),・・・
    Close FileNo

みたいなのが基本形ですね。

編集 削除
ikagy  2004-12-13 22:09:55  No: 118286  IP: [192.*.*.*]

fortranでやっていたような
(MyArray(i),i=1.10))のような簡単なまとめ方はできないということですか。
for i=1 to 10
write MyAray(i)
next i  
とかするしかないんですか。

編集 削除
たくみ  2004-12-13 22:41:15  No: 118287  IP: [192.*.*.*]

なんか、はずしちゃったみたいで失礼しました。

コーディング上、1行が3行になるのが納得いかないのではない
として、問題はFor i=1 to 10の10の(ループの上限値の)ところが
気に入らない、動的に可変させたい、とおっしゃるのでしたら
そこをUBound(MyArray)で済むのですが、、、

なんだか、今回も「だからそんなこと聞いてるのではない」と??

編集 削除
ikagy  2004-12-13 23:10:47  No: 118288  IP: [192.*.*.*]

Write FileNo, "  ", CStr(MyArray(0)), CStr(MyArray(1)),・・・
このMyArrayが100まで続くとき、
for〜nextのloop文を使わずにすむような(fortran的)命令が無いか
知りたかったんです。

編集 削除
ガッ  2004-12-13 23:21:06  No: 118289  IP: [192.*.*.*]

まぁ、単純に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

編集 削除
oku  URL  2004-12-13 23:42:04  No: 118290  IP: [192.*.*.*]

Join 関数で簡単に出来ますけど。

    intFileNo = FreeFile
    Open "test.csv" For Output As #intFileNo
    Print #intFileNo, Join(MyArray, ",")
    Close #intFileNo

編集 削除
de  2004-12-13 23:49:33  No: 118291  IP: [192.*.*.*]

数値をバリアント型の配列に入れて置き書き出すときに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

別にループで問題なければループを使うのが簡単かと。

編集 削除
de  2004-12-13 23:50:09  No: 118292  IP: [192.*.*.*]

なんか、思いっきりかぶっているみたいでもうしわけない。

編集 削除
いな  2004-12-14 13:30:32  No: 118293  IP: [192.*.*.*]

>いなさん、すっごいレス早〜い!

ちょっと調べ物をしていたので、、、

>配列に収められている数値データをコンマ区切り形式で出力する方法
って内容から単純にFAQレベルの質問かと思ったよ。
でも、こんなスレの発展の仕方をしているとは・・・。激しく誤爆だった

#本日中にSTを終わらせないと

編集 削除
ikagy  2004-12-14 22:15:17  No: 118294  IP: [192.*.*.*]

いろいろ教えていただいてありがとうございました。
結局

別にループで問題なければループを使うのが簡単かと。

このままでやります。
なにか簡単な表記方法があるかと思っておたずねしたんでしたが。

編集 削除