VBのアプリ内の計算をエクセルで手軽に確認したい
王道はエクセルを開いて書き込みますが、意外と面倒です。そこで、下記のようにstreamwriterを使って、,(コンマ)でデータが区切られたcsvファイルを出力すれば、エクセルでファイルを開くことが出来ます。
Dim i as integer Dim ar(19,4) as double 'データ出力用の一次元配列の定義 Dim Path As String 'ドライブ等のパス用 Path = “C:\SDK\2D\” 'CドライブのSDKのフォルダ内の2Dのフォルダ内に保存 Dim FileName As String FileName = Path & record & ".csv" 'CドライブのSDKフォルダ内の2Dフォルダ内にrecord.csvというファイル名で保存 '/////////////////////各種計算 開始/////////////////////////////// '→ここでは計算結果が20行4列の分量とする '/////////////////////各種計算 終了///////////////////////////// '20行4列の計算結果を出力 For i=0 to 19 Dim sw As New System.IO.StreamWriter(FileName, True, System.Text.Encoding.GetEncoding("shift_jis")) 'True→既にデータがある時はその下にデータを追加 sw.WriteLine(arr1(i,0) & "," & arr1(i,1) & "," & arr1(i,2) & "," & arr1(i,3)) '配列を,区切りで1行ごとに出力 '最初は arr1(0,0) , arr1(0,1), arr1(0,2), arr1(0,3) '次の行は arr1(1,0) , arr1(1,1), arr1(1,2), arr1(1,3)で '最終行 rr1(19,0) , arr1(19,1), arr1(19,2), arr1(19,3) まで出力 sw.Close() Next i
このようにすると全ての計算結果をエクセルに20行4列で綺麗に出力が可能です。
出力データを加工したい場合にはファイルを一度保存し、ファイルの種類をエクセルブックの形式で保存すればOKです。