スマート駄目リーマンの忘備録

旅行記、キャリア論、世相分析など思ったことを書き連ねます

VBの計算データを簡単にエクセル出力する方法

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です。