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

投稿日: 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                                      'アプリケーションオブジェクト解放


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

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

- Web Forum -