- ベストアンサー
コンパイルエラー
仕事で使う為、ダウンロードしたファイル(エクセル)を開いたら「このオートメーションタイプはVisualBasicではサポートされていません」というメッセージがでてきました。ヘルプを見たところC:\ProgramFiles\commonFiles\MicrosoftShared\VBA\VEJPLR3HLP というのが無いらしいのですが、どうしたらいいでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 >C:\ProgramFiles\commonFiles\MicrosoftShared\VBA\VEJPLR3HLP たぶん、 VEjpLR3.HLP のことだと思うのですが、このファイルがなくても、 #「このオートメーションタイプはVisualBasicではサポートされていません」 というエラーは出ないはずです。 >ファイル(エクセル)を開いたら... それよりも、こちらのほうが問題です。 ツール-マクロ-Visual Basic Editor で、 Visual Basic Editorの画面のモジュールは開けられますか? 開けられたら、その最初の、Sub プロシージャ名の下の宣言、Dim のところの全てを教えてください。 開けることが出来ないようでしたら、もう一度、使用説明か何かをお読みください。Excelのバージョン(正確に言うと、使う周辺のダイナミック・リンク・ライブラリなどのバージョン)が違うかもしれません。または、別のファイルをダウンロードして、インストールしなければならないかもしれません。
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 > □ 参照不可: JS DialogExtension Controls > □ 参照不可: JS CheckListBox Control > □ 参照不可: JS Dialog Library JS DialogExtension Controls JS CheckListBox Control JS Dialog Library この「参照不可」の文字自体は、そのライブラリを持っている方には、参照不可は出てきませんが、それは、MS社のものではないコントロールですから、外してください。外して、再度、立ち上げれば、MS社のライブラリが使えるはずです。 ちなみに、私のほうでは、それを外せば当面の問題は出ていません。
お礼
何度もありがとうございます。参照不可の文字自体はでてくるのですが、ののあとが空欄で JS DialogExtension Controls JS CheckListBox Control JS Dialog Library というのが見つけられなかったのです、参照不可の部分を消そうとおもいましたが「使用中のコントロールまたは参照を削除することはできません」と でてきて消せそうがありません。どうやら手書きになりそうです。 まったく解らないのに大変親切丁寧に教えてくださって本当にありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 ダウンロードしてみました。 VBAのコードは、プロの人のコードのようです。しかし、しがかり品です。最終段階で、すべき点をいくつか忘れているようです。VBA側からみると、全体の作りがかなり雑のようですね。 使っていない変数が数多く点在し、プロジェクト名,シート名,モジュール名が、そのままですし、使用していないモジュールやクラスが放置されています。 問題の個所は、ジャストシステム社のコントロールを使って、繋がったままになっています。これはひじょうにまずいです。タイムスタンプをみると、2005-10-6 17:38:06 となっていますから、おそらく、すぐに修正版が入るはずです。 前置きが長すぎてしまいました。 まず、お使いの Excel97のVersion でも、何の支障もありません。 ----------------------------------------------------------- 「調査票様式h17ベース:Excel機能追加済.xls」の修正の仕方 ----------------------------------------------------------- 1) メニューから、ツール-マクロ-Visual Basic Editor を開けていただきます。 2) メニューから ツール-参照設定(R) でクリックしますと、 で、参照不可になっているものの□の中のチェックを外します。 □ 参照不可: JS DialogExtension Controls □ 参照不可: JS CheckListBox Control □ 参照不可: JS Dialog Library この三点のはずです。 これを外したら、「OK」をクリックします。 3) そして、もう一度、ツール-参照設定(R) を開けて、それらの項目がきれいになくなって いることを確認してください。 そうしたら、メニューから ファイル-終了 Microsoft Excel に戻る(C)をクリック 次に、シート「様式2」を開けて、E14から下の「休日出勤」のチェックボックスが、正しく作動するか確かめてください。 問題ないようでしたら、 4) 一旦、シート「様式1」に戻ってから、ファイル-上書き保存(S)で、保存してください。 5) 念のため、一旦、Excelを終了して、再度開けて、「様式2」のチェックボックスが正しく作動するか、調べてみてください。 これで、このファイルを何度も使うようでしたら、別の場所に置いて、これをオリジナルファイルとしたらよいと思います。 '------------------------------- これで、しばらく様子をみてください。
補足
早速、修正をしようとしたのですが、 ) メニューから ツール-参照設定(R) でクリックしますと、 で、参照不可になっているものの□の中のチェックを外します。 □ 参照不可: JS DialogExtension Controls □ 参照不可: JS CheckListBox Control □ 参照不可: JS Dialog Library のところで、参照不可というのがでてこなくてつまづいてしまいました。 修正版がでるまでまってみたほうが、いいでしょうか。。。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 それには、特に、問題になるものは存在していませんね。たぶん、開いた時の最初に目についたものをコピーしてみたようですね。 もしかしたら、そういう、Sub ~が、他にも、一杯あるのではないでしょうか? Project とか、Module とか、一杯ありますか? そのコードの作り方をみると、Public Sub としているならば、別のブックが立ち上っているはずですが、そうではありませんか?通常は、単独のブックのプロシージャには、Public ステートメントはつけません。 (なお、製作者に連絡が取れるなら、そちらにしたほうが早いです。もし、公開されていて、私が見れるものなら直接見ます。ただし、プライベートURL は、掲示が削除されてしまいます。) なお、Excelのバージョン と、OS のバージョンと、そのマクロ群(ブック)の行う目的を教えてください。( 例えば、データベースのデータを取り込んで、それを表にする、とか。データベースの場合は、そのデータベースの種類) それから、ダウロードしたものに、インストローラーはついていませんでしたか? ご自身で調べる方法 '----------------------------------- 1) とりあえず、そのVisual Basic Editor の画面のところの ツール-参照設定 で、 [参照不可]とか、なっているものはありませんか? 合ったら教えてください。 2) 次に、もし、双眼鏡のツールアイコンが出ていたら、それをクリック。出ていなかったら、Ctrl + F で、「検索ダイアログ」を出して、 検索する文字列 「CreateObject」 対象 カレントプロジェクト 三個並んだ、チェックボックスは、どれもチェックいれません。 そして、次を検索(N) を押して、検索した行の内容を教えてください。 1) で、見つかったら、2) は必要ありません。 調べてみてください。
補足
はい、そのとおりです…いっぱいありました。 Excelのバージョンは97、OSのバージョンはXPです。http://www.mlit.go.jp/sogoseisaku/const/sinko/roumuhi4/roumu/h1710/menu.htmlから調査票をダウンロードしました。 よろしくお願いいたします。
補足
早速お返事いただいてありがとうございます。 まったくの素人の為よく解らないので最初の方を貼り付けてみましたが、これでよかったでしょうか。よろしくお願いいたします。 Public Sub Compute_Sub( _ sh As Worksheet, _ op() As Boolean, _ start_row As Long, start_col As Long, _ keisan_row As Long, keisan_col As Long, _ set_col As Long) 'Dim total As Long Dim shiki As String Dim i As Long, j As Long, k As Long 'オンエラー処理 On Error GoTo ErrProc Application.ScreenUpdating = False