VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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行に保存してます。
この方法ですと、読み込み時に比べて時間がかかってしいます。
読み込み時と同じくらいの時間で書き込む方法を教えて下さい。
宜しくおねがいします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -