3

いくつかの Excel vba コードの開発中に、他のほぼすべての反復で、コードを追加してファイルを保存すると、次にそのファイルを開くと、「ファイルが見つかりません」というエラーが表示されます。マクロは、ファイルを開くときにコードを自動的に実行するように設定されています。

それを修正するために、すべてのコード (モジュールとクラス、およびスタートアップ コード) を新しい空の Excel ファイルにコピーしました。Excelマクロファイルを保存すると、正常に実行されます。

これは、Excel 2003 と 2007 の両方で発生します。何が起きているのでしょうか?

4

3 に答える 3

0

私のサイコパワーは、現在のディレクトリを変更する際に相対パスに依存していることを教えてくれます.

于 2010-05-28T18:59:58.083 に答える
0

問題が解決したかどうかはわかりません。

1 つの可能性は、モジュールの 1 つが長すぎることです。

VBA は 64kb のコンパイル済みサイズ制限です。それを超えると警告するのが「想定」されていますが、多くの場合失敗します。

あなたが持っている最も長いモジュールを見つけ、いくつかの機能を別のモジュールに移動して、それが役立つかどうかを確認してください。

私はこれをよく持っています。

于 2021-04-16T03:54:16.800 に答える
0

原因が同じかどうかはわかりませんが、同様の現象が見られます。

昨日、ワークブックに Workbook_Open プロシージャを追加して保存し、再度開くたびに、「ファイルが見つかりません」というエラーが発生しました (特定のファイルが指定されていません)。続いて、「[ワークブック名​​] の一部のコンテンツに問題が見つかりました。できる限り回復を試みますか?」というメッセージが表示されます。回復することに「はい」と言った場合、すべての VBA コードがワークブックから削除されていることがわかりました。

これは私のウイルス チェッカー (BitDefender) が原因であることが判明しました。このウイルス チェッカーは、私のコードをマルウェアと見なし、ワークブックからコードを削除していました。別のウイルス チェッカー (BullGuard) を搭載した PC で試してみたところ、同様の結果が得られました。少なくとも、BullGuard は私のファイルを変更していると言う良識がありました。BitDefender はまったく手がかりを与えてくれませんでした!

一般論として、私は VBA をさまざまなクライアントで使用しているため、ウイルス チェッカーが邪魔をするという問題がますます多くなっています。

于 2020-10-30T09:06:12.593 に答える