投稿日 | : 2003/06/20(Fri) 10:37 |
投稿者 | : ゆうや |
Eメール | : curren62036@yahoo.co.jp |
URL | : |
タイトル | : Excelのセルへの書き込みについて。 |
こんにちは。わからないことがあるので投稿してみました。
Win98 SecondEditionでVB6.0 SP5を使っています。
CreateBojectを使ってExcelを関連付け、シールの各セルに文字列を書き込もうとしています。
Forを使って300行分くらい書き込むのですが、概算で2.5秒くらいかかってしまっています。
この書き込みを高速化させたいのですが、なにか手段はあるでしょうか。色々考えているのですがわかりません。
どなたかご存知の方、教えて下さい。宜しくお願いします。
以下のように実行しています。
Dim strArray(1 To 350) As String
Dim lngMax As Long
Dim excelApp As Object 'Excelアプリケーションオブジェクト
Dim excelBook As Object 'Excelワークブックオブジェクト
Dim excelSheet As Object 'Excelシートオブジェクト
lngMax = 350
'この辺でstrArrayに文字列を設定
Set excelApp = CreateObject("Excel.Application") 'Excelオブジェクトの取得
With excelApp
.DisplayAlerts = False '終了時のダイアログボックスを非表示設定
Set excelBook = .Workbooks.Open("c:\test.xls") '指定Excelファイルオブジェクトの取得
End With
With excelBook
Set excelSheet = .Worksheets("Sheet1")
'★データ書き込み、上書き保存
With excelSheet
For n = 1 To lngMax
.Cells(n, 1).value = strArray(n)
Next
End With
.SaveAs filefullname 'Formatファイルを指定ファイル名として保存
.Close 'ファイルを一旦閉じる
End With
'★エクセルファイル保存、オブジェクトの解放
excelApp.Quit 'Excelアプリケーションの終了
Set excelSheet = Nothing 'シートオブジェクト解放
Set excelBook = Nothing 'ワークブックオブジェクト解放
Set excelApp = Nothing 'アプリケーションオブジェクト解放