• ベストアンサー

ExcelVBAで参照設定を自動に行う

AccessのVBAではReferencesコレクション中のReferenceオブジェクトを使用して、行うことが出来ると、ネット上で読みました。 Excel2003で同じ事を行おうと、コーディングをしたところ、変数の宣言で「... As 」まで記述したところに表示されるメニュー(?)に、「Reference」が表示されませんでした。 「ExcelVBAで参照設定を自動に行う」方法、もしくは私の環境のExcel2003で「Reference」が表示されない考えられる原因を教授下さい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taocat
  • ベストアンサー率61% (191/310)
回答No.1

こんばんは。 以下は、Microsoft DAO 3.6 Object libraryの参照設定です。 ------------------------------------------------ Sub Use_Dao_Reference()  Dim Temp As String  Dim Ref As Object  Temp = "C:\Program Files\Common Files\Microsoft Shared\Dao\dao360.dll"  Set Ref = Application.VBE.ActiveVBProject.References.AddFromFile(Temp) '又は  Temp = "{00025E01-0000-0000-C000-000000000046}"  Set Ref = Application.VBE.ActiveVBProject.References.AddFromGuid(Temp, 5, 0) End Sub ------------------------------------------------- 以上です。  

komakusa
質問者

お礼

どうもありがとうございました。

関連するQ&A

  • 参照設定を自動で行う

    インターネットで調べたところ、アクセスでは[References]コレクション?で「参照設定」を自動で行えるようですが、エクセルのVBAでも同様のことが出来るのでしょうか? 良い方法がありましたらご教授ください。

  • ExcelVBAで参照設定

    こんにちは ExcelVBAで参照設定する際に、 参照可能なライブラリファイル のなかに存在しない場合、横の参照ボタンを クリックして、ファイルを指定しますが、 今回はSolverです。これをVBAで 記述することはできますか? 宜しくお願いします。

  • コードで参照設定をする方法

    VBのコード内で、オブジェクトへの「参照設定」をさせる方法を教えていただけませんでしょうか。 目的は、自分のコンピュータでは参照設定してあるオブジェクトでも、ほかのパソコンではされていると限らないため、アプリ(実際はエクセルブック)の起動時に参照設定を強制したい。参照設定がないと、そのオブジェクト変数の宣言文がコンパイルエラーとなってしまいますよね・・・。 VBAのヘルプによればこちらのメソッド(object.AddFromGuid(guid, major, minor) As Reference)を使うといいような気がするのですが、参照設定したい先(具体的には「Microsoft Scripting Runtime(scrrun.dll)」)の「GUID」がわかりません。レジストリを探さないといけないのでしょうか・・・。探し方がわかりません。

  • vbaで参照設定

    Dim Ref As Reference 'Excel Set Ref = References.AddFromGuid("{00020813-0000-0000-C000-000000000046}", 1, 7) 'ADODB Set Ref = References.AddFromGuid("{2A75196C-D9EB-4129-B803-931327F72D5C}", 2, 8) このような感じで、vbaで参照設定をしているのですが、 Microsoft Forms 2.0 Object Library へ、vbaで参照設定をしたい場合、どうなりますか? 今は、 http://www.moug.net/tech/acvba/0020034.html のやり方で手作業で参照設定していますが、 vbaでのやり方が知りたいです。 {00020813-0000-0000-C000-000000000046}", 1, 7 こういうコードの調べ方がわかりません。

  • 参照設定に「MSXML2.XMLHTTP」

    VBAでMSXML2.XMLHTTPを使ってIE操作をしたいのですが、 参照設定に「MSXML2.XMLHTTP」が見つかりません。 Dim objIE As Object でも宣言できますが、 本物のオブジェクトで宣言したいです。 何かをダウンロードしなくてはいけないのでしょうか?

  • Access 開くときに自動で参照設定

    いつもお世話になっております。 Accessで参照設定を自動でする下記コードで、 "C:\Program Files (x86)\Microsoft Office\Office" & sansyou & "\MSOUTL.OLB" がない場合は "C:\Program Files\Microsoft Office 15\root\office15" & sansyou & "\msoutl.olb" をセット という風な条件を付けたいのですが、添削をお願いできますでしょうか。 Dim A As Object Set A = CreateObject("Outlook.Application") Dim sansyou As String sansyou = Left(A.Version, 2) Dim Ref As Reference Set Ref = References.AddFromFile("C:\Program Files (x86)\Microsoft Office\Office" & sansyou & "\MSOUTL.OLB") Set Ref = Nothing ちなみに、閉じるときに Application.References.Remove References("Outlook") で、参照設定のチェックを外しています。 バージョンがそれぞれ異なるPCでOutlookの参照設定チェックをONOFFするコードです。 よろしくお願いします。

  • Referencesの参照設定

    http://www.tsware.jp/tips/tips_565.htm を参考に、 VBAで参照設定されているライブラリの一覧を取得したいのですが、 Sub t() Dim Ref As Reference For Each Ref In References With Ref Debug.Print .Name Debug.Print .FullPath Debug.Print .GUID Debug.Print .Major Debug.Print .Minor Debug.Print .IsBroken End With Next Ref End Sub を実行すると、 Ref As Reference の部分で、コンパイルエラー(ユーザー定義型は定義されていません) になります。 多分、Referencesの参照設定をしないと、このコードは使えないからだと思うのですが、 参照設定にどこにチェックをすればいいでしょうか?

  • ExcelのVBAによる参照設定について

    VBAによる参照設定について教えてください。 以前にOffice2010と2003の互換性の問題について教えていただいた際に、以下のようなやり方を教えていただき、AccessのVBAでExcelの参照設定はできたのですが、ExcelのVBAでAccessの参照設定をしようとした際に「Dim Ref As Reference」の部分が「ユーザー定義型は定義されていません」となってしまいコンパイルできません。Accessの参照設定にチェックを入れると問題ないので、Excelに「Reference」というデータ型が使えないのだと思うのですが、Excelではどのように書いたらよいのでしょうか? On Error GoTo Err_Rise Dim Ref As Reference Const strGUID As String = "{00020813-0000-0000-C000-000000000046}" 'Excelの参照設定をする場合 Const strGUID As String = "{4AFFC9A0-5F99-101B-AF4E-00AA003F0F07}" 'Accessの参照設定をする場合 Set Ref = References.AddFromGuid(strGUID, 1, 3) Set Ref = Nothing Err_Rise: If Err.Number = 32813 Then Resume Next End If On Error GoTo 0

  • 参照設定 VBAで行ないたいのですが

    参照設定で[Microsoft Visual Basic Application Extensibility]をチェックを VBAで行ないたいのですが Sub test() Dim Ref As Reference 'Excel Set Ref = References.AddFromGuid("{00020813-0000-0000-C000-000000000046}", 1, 7) Set Ref = Nothing End Sub のようになるとしたら、どうすればいいのでしょうか? エクセルの参照設定の仕方はネットからコピーしたもので、 やりたい参照設定のパスの調べ方がわかりません。 ("{00020813-0000-0000-C000-000000000046}", 1, 7) が何を意味するのか、何の情報かわからない為 [Microsoft Visual Basic Application Extensibility]についてもわかりません。 アクセス2010です。

  • ExcelVBAマクロでの変数の宣言エラーについて

    初歩的な質問になりますが、ExcelVBAマクロで変数の宣言「Dim wdObj As New Word.Application」のエラーについて確認させてください。 変数の宣言「Dim wdObj As New Word.Application」がExcel2007以前では使えないようで、『ユーザ定義型は定義されてません。』というエラーがExcel2007以前で起きます。 Excel2010では問題なく動作しています。 Excel2007以前でも動作する方法をご教授いただけますでしょうか。 お手数おかけしますが、よろしくお願いいたします。