次の方法で共有

Officeバージョン違いによるExcel ActiveXのパフォーマンスについて

Anonymous
2019-11-13T08:19:13+00:00

vbスクリプトでExcelファイル処理しています。

Officeを2010->365にアップデートしたところ、処理時間が延びてしまいました。

確認した環境と結果は以下です。(時間は相対値として参照ください)

  1. windows7 64bit SP1 + Office2010    【45秒】
  2. windows7 64bit SP1 + Office365ProPlus 【330秒】
  3. windows10 64bit  +  Office365ProPlus  【210秒】

vbスクリプトの処理としては

テンプレートExcelファイルの各項目を探して、値をセットする内容です。

***********************************************************

  Set Excel = CreateObject("Excel.Application")

  Set WorkBook = Excel.Workbooks.Open(filename)

  Set WorkSheet = WorkBook.Worksheets(0)

  '以下の2行の設定内容が多数繰り返されます

  Set objLevel = WorkSheet.rows("1:100").Find("LEVEL")

  WorkSheet.Cells(objLevel.Row,objLevel.Column).Offset(0,1).Value = "PRODUCT-LEVEL"

  WorkBook.Sheets(0).SaveAs filename

  WorkBook.Save

  WorkBook.Close

***********************************************************

以下について情報ございましたら、ご教示頂けると助かります。

・Office365で上記スクリプト処理が遅くなる要因はありますでしょうか?

・Office365の設定で改善する可能性はありますでしょうか?

  →Excelオプションの「ハードウェアグラフィックアクセラレータを無効にする」にチェックを入れて試しましたが、効果なし

・Officeバージョンによる違いがある場合、コード修正で改善する可能性はありますでしょうか?

よろしくお願いいたします。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Makapu 92,110 評価のポイント ボランティア モデレーター
2019-11-13T21:16:40+00:00

ZKN_ISさん、こんにちは。

参考情報となりますが、以下のスレッドを確認してみてはいかがでしょう。

excel2016のマクロ処理が超遅い

Windows7,Windows10 エクセル2016 VBAの処理が遅い

Excel VBAの処理スピードについて

また、VBA に関する話題は、開発者向けの<**Msdnフォーラム**>で情報を集めてみると良いと思いますよ。

Msdnフォーラム(VBA)

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2019-11-14T05:11:54+00:00

    Makapuさん、こんにちは。

    参考情報ありがとうございました。非常に助かりました。

    今までVisible、DisplayAlerts プロパティはFalseにしていたのですが、

    今回、ScreenUpdating プロパティもFalseにすることでかなり早くなりました。

      Set Excel = CreateObject("Excel.Application")

      Excel.Visible = False

      Excel.DisplayAlerts = False

      Excel.ScreenUpdating = False ★

    他にも高速化できそうな情報がありましたので、試してみます。

    ご教示ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません