
Excelで、開いた時に「OPEN」プロシージャにて、あるDLLの参照設定(SOLVER32.DLL)を行いたいのですが、以前のQ&Aで記載されていた方法で行おうとするとエラーが発生し、うまくいきません。
どなたか方法をご存知の方おりましたら、よろしくお願いします。
(環境)
Windows XP SP2
Excel 2003 SP2
(コード)
Private Sub Workbook_Open()
ThisWorkbook.VBProject.References.AddFromFile "c:\SOLVER32.DLL"
End Sub
(エラー内容)
実行時エラー'1004'
アプリケーション定義またはオブジェクト定義のエラーです。
以上
No.1ベストアンサー
- 回答日時:
こんにちは。
提示のコードでOKですが、条件があります。
xl2002以降でVisualBasicオブジェクトモデルへアクセスする場合は
コード実行前に以下の準備をしておかなければいけません。
------------------------------------------------------------
メニューバー「ツール」 > 「マクロ」 > 「セキュリティ」
表示される「セキュリティ」ダイアログの「信頼のおける発行元] タブをクリック
表示される画面の「Visual Basic プロジェクトへのアクセスを信頼する」にチェックを入れる
----------------------------------------------------------------
これで提示のコードはうまく実行されると思います。
以上です。
ご回答、ありがとうございます。
ご指摘の通り行うと、参照設定がうまくいくようになりました。
ただ、1点問題ありまして、Excelを開いた時に「DLL読み込み時のエラーです」とエラー画面が表示されてしまいます。
ですが、参照設定はうまくいっているので、そんなには問題ではないですが・・・
もし原因ご存知でしたらご教示頂きます様、よろしくお願い致します。
以上
No.2
- 回答日時:
こんにちは。
再度の登場です。参照設定うまくいって何よりです。
ところで「DLL読み込み時のエラーです」のことですが
Microsoft DAO3.6 Object Libraryのdao.dllで以下を試してみました。
------------------------------------------------------------
Sub test()
Dim myPath
◎myPath = "C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll"
■myPath = "C:\Program Files\Common Files\Microsoft Shared\DAO\daoXXX.dll"
▲myPath = "C:\Program Files\Common Files\Microsoft Shared\XXX\dao360.dll"
ThisWorkbook.VBProject.References.AddFromFile myPath
End Sub
------------------------------------------------------------
結果は以下の通りです。
(OK)◎:正しいパス(ファイル名までのフルパス)
(ER)■:誤ったファイル名(上位パスは正しいがファイル名をミス)
(ER)▲:誤ったパス(ファイル名のひとつ上位のフォルダーをミス)
どうもパス名やファイル名を間違うと「質問のエラー」がでるようです。
万が一ということもありますのでそれらを再度確認してみたらどうでしょうか。
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
アプリケーション定義またはオ...
-
Accessで定型フォーマットのExc...
-
ACCESS VBA Excelにデータ出力...
-
Debug.exe実行時にWinMainCRTSt...
-
「アプリケーション定義または...
-
【Excel VBA】マクロをボタンに...
-
VBAがブレークモードになっ...
-
VBAのWebBrowserコントロールで...
-
エクセルのマクロでCells(j,i)...
-
'Speak'メソッドは失敗しました
-
コンバインエラー
-
C++の初期化チェックに関する質...
-
エラー1004 PDFの保存ができま...
-
VBA コピペの途中でエラーにな...
-
ExcelVBAで、ユーザー定義型は...
-
実行時エラー48発生時のDLL特定...
-
エクセルVBAについて
-
[Delphi] データセットは閉じて...
-
なぜこんな初歩的なVBAのIf文で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー -'-2147417848
-
【Excel VBA】マクロをボタンに...
-
Outlook.ApplicationをCreateOb...
-
VBAでのエラー
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
実行時エラー48発生時のDLL特定...
-
VB6+SQL サーバー 2000 で 実行...
-
エクセルエラー13型が一致しま...
-
VBS実行時エラー オブジェクト...
-
ADODB.Streamを使用してUTF-8を...
-
INSERT INTOステートメント構文...
-
VBAで、定数式が必要ですのエラ...
-
OLEDB.NETで接続できない
-
VBSで変数の宣言はできないので...
おすすめ情報