質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

3回答

18699閲覧

Excel 2010 vba オートメーションエラー

riuichi3

総合スコア7

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2017/11/14 05:23

###オートメーションエラーの解決策をご教示ください
今まで動いていたvbaに変更を加えた所、オートメーションエラーが出るようになりました。
はじめて見るエラーでしたので、変更箇所をコメントアウトしながら何度か試したのですが、コメントをつかしただけでもエラーとなり、そもそもコードのエラーではないようです。

mscomctl.ocxが更新されてしまったことが原因の可能性があります。

検索した所、上記のような情報を得ることが出来、対応策として提示されていたレジストリの変更も行ったのですが効果がありません。

regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX

何か思い当たることがあれば、ご教示いただければと思います。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takito

2017/11/14 05:50

MSCOMCTL.OCX を検索してみましたか?パスが違っているという可能性も
riuichi3

2017/11/14 05:55

確認してみましたが、パスは間違いないようでした。
guest

回答3

0

ベストアンサー

参照設定のファイルが無くなってしまい、
「参照不可」になっている場合、
VBAが正しくコンパイルできずに上記エラーを出す場合があります。
※mscomctl.ocx もこのケースにあたります。

参照設定は確認されましたか?

投稿2017/11/14 05:30

ExcelVBAer

総合スコア1175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

riuichi3

2017/11/14 05:34

ご回答有り難うございます。 参照設定の方、確認してみましたが、問題ございませんでした><
ExcelVBAer

2017/11/14 05:37

コンパイル自体は通っているという事ですよね? 一口に「オートメーションエラー」と言っても、 幅広いので、起きているコードを提示できませんか? </>ボタンでコードを記載できますので。
riuichi3

2017/11/14 06:04

ご回答有り難うございます。 コードを貼り付けて投稿しようとしたのですが、何分待っても投稿完了せず。。。 やっている事はエクセルでxmlをつくりhtmlを生成というものです。 エラーの出ないコードに、コメントを追加し、エラーが出ることを確認した後、コメントを削除してもエラーは出続けるようです。。。
ExcelVBAer

2017/11/14 06:47

えっと、Excelのマクロで、xml、html の2ファイルを作成するという事でしょうか? 投稿できないのは、恐らくコードが多すぎる為でしょう。 デバッグが起きている箇所(できれば前後も含めて)だけで試して頂けませんでしょうか? コメントだけを追加・削除しただけで同様のエラーが出る事が分かったのですね。 コメントを追加する前の状態では、普通にファイルが作成されるのでしょうか? こういった場合は、基本的な事から1つずつ確認するのが定石ですので。
riuichi3

2017/11/14 07:05

ご回答有り難うございます。 > えっと、Excelのマクロで、xml、html の2ファイルを作成するという事でしょうか? はい > コメントを追加する前の状態では、普通にファイルが作成されるのでしょうか? はい 今試しに、新しいファイルに、元ファイルのシートとコードをコピペして実行してみたのですが、もしかするとうまくいきそうな感じがしてきました。 また、後ほど進捗報告させていただきます。
ExcelVBAer

2017/11/14 07:30

稀にですが(とは言っても数か月に1回はみますが)、 コードが正しくコンパイルされない、というケース(Excelのバグ)があります。 その場合は、 1.該当モジュール内で全選択(Ctrl+A) 2.切り取り(Ctrl+X) 3.コンパイル(デバッグ→コンパイル) 4.貼付け(Ctrl+V)※元のコードを張付けるだけ(Ctrl+Zで元に戻すだけでも可) という対処で正常に戻る場合があります。
riuichi3

2017/11/14 08:21

ご回答有り難うございます。 > コードが正しくコンパイルされない、というケース(Excelのバグ)があります。 そんなことがあるんですね!? もしかすると今回もそのケースっだったのかも?? > 今試しに、新しいファイルに、元ファイルのシートとコードをコピペして実行してみたのですが、もしかするとうまくいきそうな感じがしてきました。 結果的には上記のように試してみたところ、うまくいきました。 原因はわからないですが、そんな事もあるんだなと・・・><
ExcelVBAer

2017/11/14 08:36

うまくいって良かったです(^^) 本当に万が一レベルですが、ブックが壊れていたという可能性も0ではないですね。 自分も1度だけ、1つのセルがどうしても普通には処理できず、 ブックを1から作り直しました。 その時はセルをコピペすると再発したので、本当に1から。。。 例の対処法は、またいつかお試しください~
KojiroIkeda

2020/03/04 05:12

ExcelVBAerさんの方法で、 同様の問題が解決しました。 ありがとうございます。 シートによってエラーになるシートとならないシートがありました。
guest

0

原因は分かりませんが今回のケースでは、
0. 新規ファイル作成
0. シートをコピペ
0. コードをコピペ
0. 参照設定を元ファイルと合わせる

で、正常動作できました。

その後、もともと行いたかったコードの追加修正を行い、すべての問題解決となりました(原因はわからない)。

皆さん、たくさん解決のヒントをいただきありがとうございました。

投稿2017/11/14 08:28

riuichi3

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

多分どちらかで復旧すると思います。

1.キャッシュの削除
C:\Users[ユーザ名]\AppData\Local\Temp\VBE\の*.exdなど
C:\Users[ユーザ名]\AppData\Roaming\Microsoft\Forms\の*.exdなど

2.レジストリへの登録は管理者権限が必要ですのでコマンドプロンプトは管理者で起動してください。

投稿2017/11/14 06:37

hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

riuichi3

2017/11/14 07:00

ご回答有り難うございます。 ~\AppData配下で見つけられた*.exdファイルが C:\Users[ユーザ名]\AppData\Local\Temp\Excel8.0\MSForms.exd これだけでしたので、こちらを削除してみましたが変化ありませんでした><
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問