• ベストアンサー

WebBrowserコントロールがおかしい

アクセスなのですが、 Sub test() DoCmd.OpenForm "FWebBrowser", acNormal Forms("FWebBrowser").WebBrowser0.Navigate "http://www.yahoo.co.jp/" End Sub を標準モジュールからすると 実行時エラー -2146500594 'item' メソッドは失敗しました'Forms'オブジェクト が発生します。 WebBrowserコントロールは参照設定は要らないですよね? どちらにしろ参照不可になってるものはありません。 アクセスのバージョンは2010です。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

一応考えられることあげてみました。 1 新しいファイルにすべてをインポートして実行してみる 2 言語設定の確認 3 WebBroserを設定しているフォームの設定に問題はないか 4 WebBroserコントロールはフォームに貼り付けただけか 5 WebBroserを設定しているフォームに何かコード、あるいは  コントロールなどで設定しているものはあるか 6 Microsoft HTML Object Libraryにチェックをいれるとどうなるか 一応、現在参照設定されているものはどのようなものがあるか あげてみてください。

yaru32qws
質問者

お礼

色々試してみたら出来ました。ご回答ありがとうございました。

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

2010の環境ではないので確認できませんが、 Forms("FWebBrowser").WebBrowser0.Object.Navigate "http://www.yahoo.co.jp/" としたらどうなりますか?

yaru32qws
質問者

お礼

Objectをつけてみましたが、結果は同じでした。

関連するQ&A

  • 「DoCmd.OpenForm」が実行できない(vbaでフォームを開きたい)

    「フォーム1を開く」vbaで行ないたいのですが エラーになってしまいます。 Sub test1() DoCmd.OpenForm , acNormal, フォーム1 End Sub は「変数が定義されていません」と表示され (「変数の宣言を強制する」にチェックを入れています) Sub test2() DoCmd.OpenForm , acNormal, "フォーム1" End Sub は「引数は省略できません」となります。 Sub test1() DoCmd.OpenForm , フォーム1, acNormal End Sub Sub test2() DoCmd.OpenForm , "フォーム1", acNormal End Sub これにしても同じでした。 「OpenForm」をヘルプで調べてみたところ 「expression 」と「FormName」が「 必ず指定します。」でした。 「expression 」がないからだめなのでしょうか? すいません、助けてください。 よろしくお願いします。

  • Access-フォームのCaption変更

    お願い致します。 Access97のフォームのクラスモジュールでCaptionの変更を行うコードを書いたのですが、いまいちうまくいきません。 ご指導お願い致します。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓ *********************************************** Private sub Form_Load() DoCmd.OpenForm "F_OPEN" Forms!F_OPEN!Msg.Caption="お待ちください" ************************************************ このForms!F_OPEN!Msg.Caption="お待ちください" のところで、エラーメッセージ 「'Item'メソッドは失敗しました:'Forms'オブジェクト」がでてしまうのです。 お願い致します。

  • WebBrowserについて

    VB2005で、WebBrowserを使おうとしたところ次のような問題が発生しました。 フォームに、WebBrowserを貼り付けてボタンをクリックしたところsubの途中でStopさせるとWebBrowserに表示されません。どうしてでしょうか?教えてください。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate("http://www.goo.ne.jp/") End Sub の状態だと表示されますが、 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate("http://www.goo.ne.jp/")     Stop End Sub で止めると表示されません。 教えていただけないでしょうか?宜しくお願い致します。

  • WebBrowserコントロール(続き)(続き)

    QNo.746387で下記のコードを教えてもらいました。 これでwebbrowserに表示されました。 Private Sub Command1_Click() Open "temp.html" For Output As #1 Print #1, "<html><body>あいうえお</body></html>" Close #1 WebBrowser1.Navigate2 CurDir + "\temp.html" End Sub 保存場所を変えて Private Sub Command1_Click() Open "c:\temp.html" For Output As #1 Print #1, "<html><body>あいうえお</body></html>" Close #1 WebBrowser1.Navigate2 CurDir + "c:\temp.html" End Sub とやったのですが、保存はされますが、表示がされません。 WebBrowser1.Navigate2 CurDir + "c:\temp.html" が問題のようです。 どうしたらよいのでしょうか?

  • WebBrowserコントロール(続き)

    昨日質問したものです。(VB6.0) 出来たと思ったらエラーが出てやっぱり出来ませんでした。 もう3時間挑戦してますがダメです。 例えば a = "<html><body>あいうえおかきく</body></html>" と入ってる場合 コマンドをクリックすれば WebBrowserにaを表示する方法なのですが、、 Private Sub Command1_Click() WebBrowser1.Navigate2 "about:blank" WebBrowser1.Document.Body.Innerhtml = a End Sub これだとエラーが出ます。 何がいけないんでしょう(T_T;;

  • VB2005でWebBrowserでログイン

    今まで、ExcelのVBAを手探り状態で使い、IEを操作していたものです宜しくお願い致します。今回、VB2005EEをインストールしたので、Excelで行っていた作業を移行させようと思ってネットでサンプルを手にいれ使おうかと考え行き詰りました。どなたか教えてください。 formにWebBrowserコントロールを貼り付けてネットのログイン画面を With WebBrowser1 .Navigate("http://xxxx.xxx.co.jp/xxx/mail?roginname=abcd123") .Document.All.GetElementsByName("acctname")(0).InnerText = "abcd123" .Document.All.GetElementsByName("passwd")(0).InnerText = "1234567" .Document.Forms(0).InvokeMember("submit") End With としたところ、.Documentの行で、オブジェクト参照がオブジェクト インスタンスに設定されていません。のエラーが出てしまいます。 ヒントには、オブジェクトインスタンスの作成には、newキーワードを使用します。と、メソッドを呼び出す前に、オブジェクトがnullでよいかどうか確認してくださいとあます。 私は、いったいどうすればいいのでしょうか?基本的な部分が分かっていないだけだと思いますが、教えて頂けないでしょうか?

  • 正しいWebBrowserの使い方(ループ判定)

    VB2008を使っています。WebBrowserのコンポーネントを使って ホームページにGET形式でパラメータを渡して画面のBODY部分を読み取る ものを作っているのですが、サーバーのレスポンスにもよりますが 1分間に20回で5分(100回程度)連続アクセスをするのですが、 以下のルーチンの場合何か不安を感じまして、 ネットでこれを使えばOKというものが無くて 確実に読み取る方法が知りたくて質問いたしました。 やはり、2つ目のイベントを用いる方が安心でしょうか? 正しいWebBrowserの使い方(ループ判定)をご存知の方教えてください。 '***** WebBrowser1.ReadyState ***** WebBrowser1.Navigate(URL) Do While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete Or WebBrowser1.IsBusy = True Application.DoEvents() Loop data = WebBrowser1.DocumentText '***** DocumentCompletedイベントまでループ ***** public wait_flag as Boolean wait_flag = True WebBrowser1.Navigate(URL) Do While (WebBrowser1.IsBusy = True) Or (wait_flag = True) Application.DoEvents() Loop data = WebBrowser1.DocumentText '---- イベント ----- Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted wait_flag = False End Sub

  • アクセスのマクロ

    友人がアクセスで作ったマクロです。3行目で止まってしまいます。どこが悪いのでしょうか。(私は全くの素人でわかりません) Private Sub 記載事項入力ボタン_Click() DoCmd.Close acForm, "初期画面", acSaveYes DoCmd.OpenForm "入力フォーム", acNormal ←ここ End Sub

  • コマンドボタン名を取得して変数に代入したい。

    OS:windowsXp Access Version:Xp 既出でしたらすみません。 INDEXのフォームにて複数コマンドボタンを作り、それを押すと各登録フォームや集計フォームが開くようにしています。 さて、質問なのですが、コマンドボタンで別のフォームを開く時の処理を(フォーム名が違うだけで後は同じなので)まとめて書きたいのです。 現在は次のようにやっています。 ------------------------------------------------- Private Sub F_メニュー_Click() Call close_form DoCmd.OpenForm "F_メニュー", acNormal, , , acFormEdit, acWindowNormal End Sub Private Sub F_売上伝票_Click() Call close_form DoCmd.OpenForm "F_売上伝票", acNormal, , , acFormEdit, acWindowNormal End Sub      (中略) Private Sub 事業所別集計_Click() Call close_form DoCmd.OpenForm "F_事業所別集計", acNormal, , , acFormEdit, acWindowNormal End Sub Private Sub 消費税変更_Click() Call close_form DoCmd.OpenForm "F_消費税変更", acNormal, , , acFormEdit, acWindowNormal End Sub Private Sub システム終了_Click() Call close_form DoCmd.RunCommand acCmdExit End Sub Private Sub close_form() msgbx = False DoCmd.Close acForm, "index", acSaveYes End Sub ------------------------------------------------- これを  ボタン名_Click() ではなく  frm_open() 押されたボタン名を変数に取得(ボタン名=Form名にします。) DoCmd.OpenForm 押されたボタン名変数 のように共有したいのです。 どうすれば出来ますでしょうか?ご指導よろしくお願いします。

  • AccessVBAにおけるOpenArgsの使用について

    AccessVBAを最近はじめた初心者です。 ~~~フォーム1~~~ Private Sub コマンド0_Click() DoCmd.OpenForm "フォーム2", , , , , , "コマンド0" End Sub Private Sub コマンド1_Click() DoCmd.OpenForm "フォーム2", , , , , , "コマンド1" End Sub ~~~フォーム2~~~ Private Sub Form_Load() Dim strFormName As String strFormName = Forms.フォーム1.OpenArgs DoCmd.PrintOut strFormName End Sub 上のプログラムのようにフォーム1でクリックしたボタンによってフォーム2を読み込んだ時の動作を変えるプログラムを作成しようとしています。 しかし、実際に起動させると、『strFormName = Forms.フォーム1.OpenArgs』の辺りで 「Null の使い方が不正です。」 というエラーメッセージが表示されます。 Accessのヘルプを参照に組んでみたのですが、どの箇所が間違っているのでしょうか? 回答、よろしくお願いします。

専門家に質問してみよう