質問: TEHAI(i).管理番号 Call cmdPrintOut() Next i End With ~ 略 ~ End Sub ``` ### 試したこと Office2010(32bit)の時は、API関数のSleep関数は不要で、何件でも処理ができていました。64bitにした時、一回動作がおかしくなり、苦肉の策でSleep関数を追加したら上手く実行出来ました。 コードのSleep関数の引数は 500 ですが、2000 に変更してもフリーズする件数は変わらない。 デバックでは、PrintOutメゾットでエラーになっていることがわかりました。 メモリの使用容量をみても300MBで、問題ありませんでした。 プリンタードライバーを最新にしても、印刷スピードが速くなったが、フリーズする件数は同じ。 家のパソコンで実行したら、問題なく動作した。 家のパソコン↓ TOSHIBA dynabook T95 Windows 10 HOME 64bit Excel 2016 16.0.9029.2253 64bit cpu i7-4720HQ memory 8GB ### その他 会社のExcelのバージョンが低いのは、勝手にソフトのアップデートができないようにセキュリティーがあるためです。また、ギリギリの期間まで、32bitと64bitの環境が混在するので、どちらでも動作できるように作り込みが必要です。 過去の経験から推測でパソコンのスペック不足かExcelの不具合と推測しています。 フリーズする原因が特定できれば十分です。 よろしくお願いします。
回答: そもそもですが、OfficeはMicorsoftが32bitを推奨しており、 それはつまり、64bitだと不明な不具合がある可能性を示唆していると考えられます。 自分の開発したシステムでも、WinAPI回りでOfficeが落ちる不具合があり、 64bit環境では一部の機能を断念せざるを得なかったケースがありました。 今からでも32bitOfficeに戻す選択肢を考えてみてもいいかもしれません。