• 締切済み

Access2010で参照設定の意味

OS:Windows10 64bit Access2010(32bit)でプログラムしている初心者です。 フォーム内にPDFを表示したいのでActiveXコントロールの「Microsoft Web Browser」を 貼り付けています。これを他のPCで動かすとPDFが表示されません。 VBEの参照設定から「Microsoft Web Browser」を外すと正常に表示されます。 動作は問題ないのですが、「自動的に参照設定される」意味が分かりません。 また、参照設定を外してなぜ正常に動くのかも理解できておりません。 動作させるために参照するのでは?と考えてしまいます。 理解力のない初心者プログラマを納得させる助言をいただければ幸いです。

みんなの回答

回答No.3

参照設定が必要になってくるのは、そのオブジェクトのメソッドなどを VBAで利用する場合です。 フォームにオブジェクトを貼り付け、VBAで何も行わない場合は参照設定が無くても問題ありません。 参照設定に自動的に登録されるのはMS社が気を利かしているためだと思います。 自動的に登録されない場合は自分で調べて登録するので面倒。 で、そちらのMicrosoft Internet Controlsの「場所」は何になっていたのでしょう? 後学のために教えてください。 当方では、・・・\SysWOW64\ieframe.dll でしたが。 Microsoft Internet Controls のチェックを外すと動くということは、解せませんが (当方の1・Win10 Build10240のままです・・・は外さなくとも動きました) もしかしたら・・・、 Win10から標準のブラウザがEdgeになりIEは陰の存在になりましたので この辺が関係しているのかもしれません。 (バグなのか、配慮が足らないのか、仕様変更・・・不明) ご参考まで。私からは以上です。

fmxBeem
質問者

お礼

NotFound404さん、度々ご回答ありがとうございます。 >フォームにオブジェクトを貼り付け、VBAで何も行わない場合は参照設定が無くても問題ありません フォームにActiveX(Microsoft Web Browser)コントロールを配置して、 リストボックスのClickイベントで以下のように記述しています。 リストボックスにはPDFファイルのフルパスが格納されています。 Me.Webコントロール.Navigate Me.リストボックス.Column(0) VBAで使用しているにもかかわらず参照設定を外しても動作する・・・。 この仕組がよくわからないんです(・・;) >当方では、・・・\SysWOW64\ieframe.dll でしたが。 はい、私も場所は同じです。 他のコントロール(DAOとか)は、参照設定を外してデバッグすると コンパイルエラーがでるのに、いまいち規則性がつかめません。

回答No.2

こちらでは、 参照設定に「Microsoft Web Browser」ってのは出現しませんでしたけどねぇ? 環境による? 試したのは以下の二つ 1・Win10 64bit(ビルド10240)+ Office2016 32bit 試用版 + Reader XI 2・Win7 64bit + Office2010 + Reader X 両者ともにフォームにMicrosoft Web Browser コントロールを配置すると Microsoft Internet Controls(\SysWOW64\ieframe.dll)が参照設定に自動的に追加されました。

fmxBeem
質問者

補足

ご回答ありがとうございます。 仰るとおり「Microsoft Internet Controls」の間違いです。 失礼いたしました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

下記自信ありません。参考まで。 普通、参照設定は、VBEでツールー参照設定で、参照設定したいものをリストからクリックして設定します。 これもVBAのコードで設定できないのかと常づね思っていました。 そしたら、http://officetanaka.net/excel/vba/tips/tips100.htm (によるとTrueとFalseで設定するようです)。 に説明されていることを見つけました。VBAレベルのプログラムコードからでも、できることを知りました。 ほかにスクリプト以外の本格的プログラムでも、APIレベルでは、なおさらコードから設置(解除)ができると思っています(推定)。 >、「自動的に参照設定される」 はどこに書いてありましたか。質問で言うあるソフトの中に設定プログラムが入っているのかも。 実行される都度 True->False->Trueとサイクリックに設定が変化すのかも。 ーー 「Microsoft Web Browser PDF」でWEB照会するといろいろ記事が出ます。参考になる記事はありませんか。

fmxBeem
質問者

お礼

ご回答ありがとうございます。 >>、「自動的に参照設定される」 >はどこに書いてありましたか 書いてあるのではなくActiveXコントロールを貼り付けた直後に 参照設定を見ると自動的に項目が追加されているのが確認できます。

関連するQ&A

  • Access VBA 参照設定とは・・?

    Access初心者です。2003を使用しています。 ライブラリの参照設定(この表現でわかるでしょうか?)で参照するライブラリを増やし、モジュールを作成しました。このモジュールを含むツールは問題なく私のPCでは動いていましたが、ファイルサーバに投入し他のPCで実行させると、「・・・参照する切断された参照が含まれています。」とエラーがでてしまいます。 エラーを一旦閉じ、参照設定を見ると「(非参照)・・・・」にチェックが入っていました。このチェックを外すと問題なく動きます。チェックを外す作業を他の人にやってもらったので、ライブラリ名までわかりませんが、ツール作成時に「Microsoft ActiveX Data Object 2.1 Library」を参照可能にしました。 以下が初心者な質問ですがご教授いただきたい部分です。 ライブラリの参照設定は、インストールされているAccessに設定されるのでしょうか?それとも、作成したファイル毎の設定になるのでしょうか?前述の場合でしたら、ツールを配付した先で設定を変更してもらわねばなりません。後述でしたらモジュールをインポートした際に参照設定を変更しなければなりません。 また、参照設定の変更はVBAを用いて変更可能でしょうか?(フォームボタンから参照のON・OFF) へたくそな文章で伝わり難いとは思いますが、どなたかご教授ねがいます。

  • ADO 前は参照設定にチェックが付いてなかった

    office2003、XP SP3を使っています。 前までは,新規にmdbファイルを作成した時のVBEの参照設定は、 Microsoft ActiveX Data Objects 2.1 Libraryにチェックがついてなかったような気がしたのですが 今は 新規ブックを立ち上げて、参照設定を確認すると、 Microsoft ActiveX Data Objects 2.1 Libraryにチェックがついています。 Dim cn As New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & CurrentProject.FullName cn.Close: Set cn = Nothing のコードを標準モジュールに張り付けて実行した時に、 問題なく作動します。 昔は、参照設定に Microsoft ActiveX Data Objects 2.1 Libraryがデフォルトで ついてなかったから、 http://www.happy2-island.com/access/gogo03/capter00601-01.shtml のようにチェックしないと、 「cn As New ADODB.Connection」の部分で、 ”コンパイルエラーユーザー定義型は定義されていません。” となっていたのですが、どういう事なのでしょうか? 自分が聞きたいことは なぜ昔は新規にファイルを作った時に Microsoft ActiveX Data Objects 2.1 Library にチェックがついてなかったのに、 今はMicrosoft ActiveX Data Objects 2.1 Libraryにチェックが つくようになったのか?という事です。 ウインドウズアップデートが原因なのでしょうか?

  • VBAの参照設定について

    osは、Wxpで、エクセル2003使用してます。 あるコードを実行したところ、コンパイルエラーメッセージが出て、 調べたところ、参照設定の中の、Microsoft Windows Common Controls 5.0(SP2)が、参照不可となっていました。たぶんこれじゃないかなと、 調べたりしたのですが、参照可能にする方法がわかりません。 可能になってるマシンでは、動作は正常で、不可になってるマシンでは、 正常に動きました。 参照可能にする方法を、どうか教えてください。 よろしくお願いします。

  • Access 参照設定のエラーメッセージについて

    お世話になります。 Accessにてツール(Excelファイルの参照、更新有り)を作成しており、 参照設定で「Microsoft Excel 14.0 Object Library」にチェック を入れております。 当該ツールをExcelがインストールされてないPCで起動すると、以下の メッセージが表示されます。 参照設定しているにも関わらず、Excelがインストールされてないことに よるものだと思うのですが、このエラーメッセージを表示させずVBAより メッセージを出すことは可能でしょうか。 なお、ツールを起動するとフォームを開くようにしており、その開くイベントで 読み取り専用で開かれたかどうかのチェックを行っております。 読み取り専用で開かれた場合、メッセージを表示しているのですが、この メッセージより先にエラーメッセージが表示されるので、フォームを開く タイミングでExcelがインストールされているかどうかのチェックは遅いと 思われます。

  • EXCEL2000 VBAでのWORD参照設定

    EXCEL2007では、VBEのメニューから"MICROSOFT WORD *.* OBJECT LIBRARY"の参照設定が出来ますが、EXCEL2000ではWORD参照設定が見当たりません。 EXCEL2000 VBAでのWORD参照設定方法を教えて下さい。 会社では、まだEXCEL2000を使用しているので、よろしくお願いします。

  • EXCELで追加した参照設定を規定値としたい

    EXCEL2010を使用しています。 Oracleのデータ参照のため [ツール]-[参照設定] で Microsoft ActiveX Data Objects 2.8 Library を追加設定していますが、 この設定を シートの規定値として設定する方法は無いでしょうか? ご教示をお願いします。

  • Accessの参照設定メニュー

    Office2000Professionalをインストールしたのですが、 Access2000の「ツール」メニューに「参照設定」が 存在しません。そのため、Microsoft DAO 3.6 Object Libraryを使用することが出来ません。 ツールメニューに「参照設定」が表示されない理由及び 表示されるようにする方法を教えて下さい。 環境は OS:Windows2000 Professional(サービスパック2) Office2000 Professional です。

  • VB6 ADOの参照設定の意味、

    VB6.0にて、ADOを使用したアプリケーションを作成しています。 参照設定にてADO2.7を指定しています。 コンパイルしたアプリケーションを、 MDAC2.5が入っている環境で、動かしてみたら動きました。 インストールされているMDACの確認には、Microsoftのツールを使用しました。 下記コードを記述したモジュールを作成し、 Dim adoCon As ADODB.Connection Set adoCon = New ADODB.Connection MsgBox adoCon.version その環境にてバージョンを確認したら 「2.5」と表示されました。 ちなみに、MDAC2.7がインストールされている環境では、「2.7」と表示されました。 ここで質問があるのですが、 参照設定でADO2.7を指定した場合、 動作先の環境に入っている最新のADOのバージョンが使われると考えて良いのでしょうか? たとえば、動作先の環境にADO2.1が入っていたら、参照設定のバージョンに関わらず、それで動作する・・・ が、バージョンに依存するメソッドを実行するとエラーになってしまうとか。 Createobjectで生成するのと、かわらないのでしょうか? よろしくお願いいたします。

  • 参照設定にチェックを入れないでADOを使いたい

    アクセス2003です。 テーブル1にテキスト型のフィールド1を作り、数レコードをサンプルで入れました。 そしてVBE画面で Sub test() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & CurrentProject.FullName rs.Open "テーブル1", cn, adOpenKeyset, adLockOptimistic MsgBox rs.RecordCount rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub としたらレコード件数が取得できました。 質問は ツール→参照設定の Microsoft ActiveX Data Objects 2.8 Library にチェックをいれなくても VBAコードだけで参照設定できたような気がするので そのコードを教えてくいただけませんか? アドバイスよろしくお願いします。

  • 参照設定を覚えてくれない・・

    初心者なので、うまく質問できないかもしれないのですが、 よろしくお願いします。 VB6.0で開発をしています。 参照設定に表示される参照可能なライブラリファイルの一覧に チェック(レ)の横に参照不可となっているものがあります。 それは、参照ボタンで参照可能なライブラリファイルを指定し、 とりあえずはいいのですが、そのことを覚えてくれないのです。 VBを起動し直すたびに設定しなくてはいけません。 もちろん、参照設定の画面でOKボタンは押してますし、 VBの保存もしています。 どうしたら、覚えてくれますか?

専門家に質問してみよう