最新のWindowsUpdateをすべてインストールした後、最初のモジュールの開始時にExcelVBAコードに自動化エラーが表示されます。これには、いくつかのフォームとVBAコードの多数のモジュールが含まれています。ただし、フォーム(および関連するコード)を削除する場合は、すべて問題ありません。
同じことが、他のWindowsが更新された後、約1年前に発生しました。当時は.exdファイルを削除することでうまくいきましたが、現在の更新プログラム(Service Pack 3を含む)は異なっているようです。
何が起こっているのですか?フォームを機能させるにはどうすればよいですか?すべてのコードは変更されておらず、以前のすべてのWindows/Officeの更新に耐えています。 Windows 7(Vistaマシンでも同じ)とOffice2007を実行しています。
私はこれをよく見ていました VisualBasicおよびCrystalReports ;悪い展開または DLL Hell のいずれかが原因です。
だから、私の推測では、それはコードではなく、おそらくあなたが使用しているいくつかのサードパーティのコントロール(OCX、DLL)です。
参照を確認し(VBA IDEで、[ツールと参照]をクリック)、各DLLが指している場所を確認します。
ライブラリの日付のいずれかが動作中のマシンと異なるかどうかを確認し、原因を見つけることができます。
編集
OPは、上記の手順に従って問題を検出しました。
この特定の問題の修正は、mscomctl.ocxの登録を解除することです。
regsvr32 /u mscomctl.ocx
次に、それを登録します。
regsvr32 mscomctl.ocx
ここでも同じ問題があり、mscomctl.ocxを登録すると問題は完全に解決しました!
windows 7または2008の場合-cmd.exeを「管理者として」実行してから、次のことを忘れないでください。
32ビットWindowsシステムの場合:PASSWORD32 c:\ windows\system32\mscomctl.ocx
64ビットWindowsシステムの場合:PASSWORD32 c:\ windows\syswow64\mscomctl.ocx
この問題を修正する可能性のあるアップデートについては、 http://support.Microsoft.com/kb/2687441 を確認してください。
Mscomctl.ocxを再登録しても問題は解決しませんでした。しかし、mscomctl.ocxを呼び出す「プログレスバーオブジェクトフォーム」を削除することで解決しました...これをapplication.statusbarに置き換えました。
VBA forAutoCADでも同じ問題が発生します。私の場合、この問題を解決するには、新しいmscomctl.ocxをpearl32に登録するだけで十分でした。
私も同じ問題を抱えていました。アドインの読み込み中にExcelを開くときに不特定のエラーが発生しました。以前は、C:\ Documents and Settings \%USERNAME%\ Application Data\Microsoft\Forms \の* .exdファイルを削除することでうまくいきましたが、今回はそうではありませんでした。
アドインでフォームを開こうとすると、別のエラーが発生し、フォームを開くことができませんでした。更新前の昨夜にロールバックすることになり、すべてが再び機能します。
MSCOMCTL.ocxをアン登録して登録すると、私にとってはうまくいきました。
管理者レベルのコマンドプロンプトを開きます。 [スタート]をクリックし、実行コマンドラインに「RUN」と入力します。 WindowsVistaおよびWindows7では、クイック検索リストにCMD.EXEが表示されます。 CMD.EXEを右クリックし、[管理者として実行]を左クリックします。黒いコマンドプロンプトが開きます。
64ビットマシンの場合は、次のように入力します。
ENTERを押して、「ق32。exe C:\ Windows\SysWOW64\MSCOMCTL.OCX」と入力します。32ビットマシンの場合は、次のように入力します。
[。
銃の息子... C:\ Windows\System32\MSCOMCTL.OCXを再登録すると、すべてが再び機能します。それを指摘してくれたすべての人に感謝します。
Office 2007 Excelの更新を実行した後、今日ここで同じ問題が発生します。奇妙なことに、最新のシステムである更新にもかかわらず、1つのシステムに問題はありませんでした。そのため、いくつかの調査の結果、この問題のないシステムのWindows\sysWOW64には他のシステムとは異なるバージョンのMSCOMCTL.OCXがあることに気付きました。このactiveXの詳細は次のとおりです。作成された1,070,152バイト:2012年6月3日変更:2012年6月6日製品バージョン:6.01.9834これを問題のあるものにコピーして、うまくいきました。
また、これらのアプリケーション拡張機能が32ビットシステムFM20.DLL(変更日:2011年7月7日、バージョン12.0.6604.1000、1.13MB)FM20ENU.DLLのwindows\sysWOW64またはwindows\system32に存在するかどうかを確認することもできます。 (変更日:2008年10月24日、バージョン12.0.6413.1000、32.3KB)これらをどこからダウンロードできるかわからない。私は他のシステムからそれらを共食いしました。
同じ問題があります。アドインでは、Excel.Applicationとしての変数の宣言に問題を追跡することができました。このオブジェクトへの参照はExcel.exeファイルにあるため、どのファイルが混乱したかは非常に不明確です。
この問題が発生しているマシンはすべて、今朝(2012年8月15日)に次の更新で更新されました(リンクを投稿しないことをお詫びします。新しいユーザーとして、投稿ごとに2つに制限されています)。
Microsoft Office 2007スイートのセキュリティ更新プログラム(KB2596615)
Microsoft Office 2007スイートのセキュリティ更新プログラム(KB2596754)
Microsoft Office 2007スイートのセキュリティ更新プログラム(KB2596856)
Microsoft Office 2007スイートのセキュリティ更新プログラム(KB2687441)
Microsoft Office Outlook 2007迷惑メールフィルターの更新(KB2687400)
Windows悪意のあるソフトウェアの削除ツールx64- 2012年8月(KB890830)
現在、MSDNサイトでこれを解決できる情報は見つかりませんでした。私たちはまだこれをさらに分離しようとしています。
昨夜の更新の1つの後、すべてのターミナルサーバーで同じ問題が発生しました。 mscomctl.ocxを登録すると、すべてのユーザーの問題が修正されました。