投稿日 | : 2005/11/23(Wed) 02:16 |
投稿者 | : ロック |
URL | : |
タイトル | : MSFlexGridのデータ保存 |
VB6をはじめて1ヶ月位の者ですが、よろしくお願いします。
Excelからデータを読んでMSFlexGridに表示して、編集し、
その後Excelに書き込むという処理をしています。
表示には「Excel用ファイルをMSFlexGridに表示する(DAOを利用)」
を使わせて頂いてます。書き込みは下記のコードです。
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(App.Path & "\Hozon.xls")
Set xlSheet = xlBook.Worksheets("Sheet1")
Dim DataArray(1 To 140, 1 To 5) As Variant
Dim r As Integer
For r = 1 To 140
DataArray(r, 1) = FGrid1.TextMatrix(r, 0)
DataArray(r, 2) = FGrid1.TextMatrix(r, 1)
DataArray(r, 3) = FGrid1.TextMatrix(r, 2)
DataArray(r, 4) = FGrid1.TextMatrix(r, 3)
DataArray(r, 5) = FGrid1.TextMatrix(r, 4)
Next
xlSheet.Range("A2").Resize(140, 5).Value = DataArray
xlBook.SaveAs App.Path & "\Hozon.xls"
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
MSFlexGrid(左端固定列なし)の5列140行をエクセルシートのA2始点
5列140行に保存してます。
この方法ですと、読み込み時に比べて時間がかかってしいます。
読み込み時と同じくらいの時間で書き込む方法を教えて下さい。
宜しくおねがいします。