- - PR -
Excelへの転送処理
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-06-03 18:31
VB.NETでデータをエクセルに書き出すとき、配列で一度に転送する方法があります。
例の抜粋) For r = 0 To 99 DataArray(r, 0) = "ORD" & Format(r + 1, "0000") DataArray(r, 1) = "1000" DataArray(r, 2) = "2000" Next oSheet.range("A2").Resize(100, 3).Value = DataArray 値(Value)はこういう風に配列で転送出来るんですけど、セル毎のフォントの色とかサイズも配列で一度に転送出来ないものかと思っています。フォント色の配列を作って同じようにやってみましたが、うまくいきませんでした(色に変化無し)。 oSheet.range("A2").Resize(100, 3).Font.Color = ColorArray 方法がわかれば、教えていただきたいのですが。 よろしくお願いします。 |
|
投稿日時: 2003-06-04 12:26
mu さん、こんにちは。
できるとレスポンスよさそうなのでちょっとやってみました。 300のセルのすべてにColorArray(0,0)の値が設定されてしまいますね(^^;; Range:oSheet.range("A2").Resize(100, 3)に対して 全体のFont.Color を設定するようです。 どちらかというとValueが配列からセットできるのが例外なのかも? 例えばEXCELマクロでCopyFromRecordsetメソッドは値と属性がセットされるので、 何か方法はあるのかもしれませんが... |
|
投稿日時: 2003-06-04 15:26
ラフィンさんありがとうございました。
Excelの書式で[赤]とかやると色が変わるので、それで対応しようと思います。 とりあえず今回は赤色になればいいので^^ こんな風に... Dim DataArray(1000, 2) As String Dim FmtArray(1000, 2) As String For r = 0 To 999 DataArray(r, 0) = "ORD" & Format(r + 1, "0000") DataArray(r, 1) = "1000" DataArray(r, 2) = "2000" FmtArray(r, 0) = "[赤]" FmtArray(r, 1) = "[青]" FmtArray(r, 2) = "[緑]" Next Set xlRange = xlSheet.range("A2").Resize(1000, 3) xlRange.NumberFormatLocal = FmtArray xlRange.Value = DataArray |
1