プロが教えるわが家の防犯対策術!

VB6.0からExcelファイルを開くときに、
再計算処理が走ってしまい、
大きなファイルの場合とても時間がかかってしまっています。

開く前に、再計算は行わないで開く。
などの設定はできませんか?

Dim xlsObj As Excel.Application

' ココに入れてもまだExcelオブジェクトが生成されていないのでエラー
//xlsObj.Calculation = xlCalculationManual

Set xlsFile = xlsObj.Workbooks.Open(ファイルパス)

' ココに入れたらファイル開いて再計算処理が走ったあとなので、すでに手遅れ。
//xlsObj.Calculation = xlCalculationManual

なにかいい案がありましたら、
教えてください。

A 回答 (3件)

Dim xlsObj As New Excel.Application


 xlsObj.Calculation = xlCalculationManual
 Set xlsFile = xlsObj.Workbooks.Open(ファイルパス)

宣言時にNewを使ってオブジェクトを作成してどうでしょうか?

テストはしていません。。すみません。m(__)m
    • good
    • 0

> ココに入れてもまだExcelオブジェクトが生成されていないのでエラー



★ここで、ダミーのファイルを開く又は、新規ワークシートを作成
xlsObj.Calculation = xlCalculationManual
Set xlsFile = xlsObj.Workbooks.Open(ファイルパス)
★時ほどのダミーのブックを閉じる

ではどうでしょうか
    • good
    • 0

VBでコントロールせずに、対象ファイルのオプション設定で


計算方法を"手動"に設定して保存しておく事は出来ないでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

今回の対象ファイルはお客様側の既存のシステムで作成されるものであり、そのファイルの設定を変更することはできません。

さらに、そのファイル数も莫大なものであり、
手作業での手動設定への変更なども考えておりません。

お礼日時:2005/12/13 11:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています