あるサイト…ぶっちゃけてしまうと、楽天RMS(楽天市場の出店者がアクセスできる、店舗情報の編集サイト)なのですが

Visual Basic 2010 でフォーム・アプリケーションを作り、自動アクセスして必要なファイルをダウンロードしてきたい というのがオーダーです。


楽天RMSにはID/PASSのセキュリティが2つかかっています。
アクセスできるブラウザの種類に制限があるようですが、WebBrowser はIEと見なされるのか、接続できました。

http://web.biz-prog.net/index.html

を参考に、ID/PASSをセットしたり、submitボタンを押すなどの処理を順番に行うよう記述したところ、概ね希望通りになったのですが、要望のsubmitボタンを押すコードを通過したところで

---------
ファイルのダウンロード
このタイルを開くか保存しますか?
---------

のダイアログがでました。

希望の動作としては、このダイアログの保存のボタンを「押した」処理を送り、保存場所を指定して、ファイルを自動ダウンロードしたいです。

ここから、Visual Basic 2010 WebBrowser ダイアログ 保存 など、Googleってみたのですが、希望のサンプルコードなどを見つける事ができませんでした。

見つけたページを総合すると、ファイルのダウンロードはWebClient.DownloadFileを使用するのが簡単な方法のようです

http://dobon.net/vb/dotnet/internet/downloadfile …

しかし、前述の通り、楽天RMSはID/PASSを2種類投入する認証ページを通過する必要があって、WebBrowser でそれを通過してからでないと、ファイルダウンロードのURLに辿り着けません。

WebBrowser でブラウザ上の処理を行った結果、出て来たダイアログボックスを処理する方法がありましたら、教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

回答1は取り消していないです。



> WebBrowser から WebClient へ認証が引き渡せるのか?

WebBrowserが、Cookie認証チケットを受け取っているので WebClientに渡す必要があります。
    • good
    • 0

formをsubmitしたときのブラウザの動きを再現できれば、Webサーバは希望のファイルを応答します。


URLは、<form action='~'>のURLです。

WebBrowser1.Document.Forms[0].GetAttribute("action")
で取得する。

form以下の<input>も送信する必要があります。

WebBrowser1.Document.Forms[0].GetElementsByTagName("input") で取得して、
WebClient.UploadValues に渡す。
    • good
    • 0
この回答へのお礼

ありがとうございます。

頂いた回答を元にgoogleって、

http://dobon.net/vb/dotnet/internet/webrequestpo …

のサイトからサンプルを得ました。

-----------
※ここまでに、WebBrowser1にURLを与え、ID/PASSを入力させて、サイト内を移動し、ダウンロード指定ページまで進んでいます。

Dim url As String = Form1.WebBrowser1.Document.Forms(0).GetAttribute("action")

Dim wc As New System.Net.WebClient
'NameValueCollectionの作成
Dim ps As New System.Collections.Specialized.NameValueCollection
'送信するデータ(フィールド名と値の組み合わせ)を追加

Dim elem As HtmlElement
For Each elem In Form1.WebBrowser1.Document.Forms(5).GetElementsByTagName("input")
If elem.Name = "" Then
Else
ps.Add(elem.Name, elem.GetAttribute("value"))
End If

Next

'データを送信し、また受信する
Dim resData As Byte() = wc.UploadValues(url, ps)
wc.Dispose()

'受信したデータを表示する
Dim resText As String = System.Text.Encoding.UTF8.GetString(resData)
Console.WriteLine(resText)

---------

これにより、URLとinputの要素は送られている様子です。
※Ps.Addに適用する前に、Debug.Printで確認してみました。


返ってきたresTextの中身は、認証エラーのHTMLなので、送っている要素としてはあっているのではないかと思います。

ただ、WebBrowser から WebClient へ認証が引き渡せるのか? この場合、ファイルを受け取るのではなく、ダウンロードになると思うのですが、その辺りの処理が判らない状態です。

お礼日時:2014/04/24 18:41

WebBrowserでurlを取得して、WebCientでダウンロード



User-Agentの偽装
http://www.atmarkit.co.jp/fdotnet/dotnettips/302 …

Cookieの偽装
http://bbs.wankuma.com/index.cgi?mode=al2&namber …
http://blogs.yahoo.co.jp/yss2216/14442912.html
    • good
    • 0
この回答へのお礼

ありがとうございます。

ただ、教えてもらった方法はクラスを使うため、VBAからVBに乗り換えて日が浅く、クラスを使った事がなく、参考URLの方法では解決できませんでした。

まだモジュール記載する所までしか知識がないのですが、cookieの引き渡しにはクラスが必須でしょうか?

また、WebBrowserでurlを取得して ですが、

WebBrowser1.Url.ToString

を使用するのだと思いますが、これを使用すると、ダウンロード前のsubmitのあるページのURLを拾ってしまいます。

そのページのhidden要素を連結してブラウザのURLにセットしたところ、ダイアログが出たので、この要素を拾い出す必要があるかと思いますが、これは、htmlを取得して分解するしかないでしょうか?

ちなみに、そのURLを WebClient に渡して実行したところ、認証エラーページをダウンロードしてきました。

お礼日時:2014/04/24 13:47

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWebBrowserの読み込み待ちの処理の仕方

VB2005にてプログラムしております。

WebBrowser内にて表示したページでID、PASSを自動入力、ログインするというプログラムですが、
-------------------------------------------------------------
    Dim IDCODE As String = TextBox1.Text
Dim PASSCODE As String = TextBox2.Text
'文字列で指定したURLに飛ぶ
WebBrowser1.Navigate("https://XXXXXXXXX.ne.jp/")
'表示終了まで待つ
??????
   ‘WebBrowser1へID、PASS入力処理

-------------------------------------------------------------
上記の ??????
部分に表示待ちの処理をするコードを入れると思うのですが、
With WebBrowser1
Do While .IsBusy = True
Loop
Do While .ReadyState <> "complete"
Loop
End With
を入力すると読み込み途中で止まってしまうみたいです。
なにかいい方法がありますか?

VB2005にてプログラムしております。

WebBrowser内にて表示したページでID、PASSを自動入力、ログインするというプログラムですが、
-------------------------------------------------------------
    Dim IDCODE As String = TextBox1.Text
Dim PASSCODE As String = TextBox2.Text
'文字列で指定したURLに飛ぶ
WebBrowser1.Navigate("https://XXXXXXXXX.ne.jp/")
'表示終了まで待つ
??????
   ‘WebBrowser1へID、PASS入力処理

-------------...続きを読む

Aベストアンサー

Windowsの場合コントロールの描画などを待つなら メッセージループをとめない工夫が必要です
ひとつのプロシージャ内で待機するのであれば
Application.DoEvents() などをつかって メッセージ処理をWindowsにさせましょう

Do Until .ResyState = WebBrowserReadyState.Complete
 Application.DoEvents()
Loop
といった具合です

または WebBrowserのDocumentCompletedイベント側で処理するといった手法もありますよ

QWebBrowser内のフォームをsubmitする(VB2008)

VB2008でWebBrowserコントロール内のsubmitボタンを以下のコードでクリックしようとしているのですが、

WebBrowser1.Document.Forms("フォームの名前").InvokeMember("submit")

NullReferenceExceptionはハンドルされませんでした。
オブジェクト参照がオブジェクト インスタンスに設定されていません。
というエラーが出ます。

ボタンがフォームの中ではなく、tableの中に配置されているようで、idも指定されておらず、nameとvalueだけ指定されているのですが何か方法はないでしょうか。
どなたかお願いします。

Aベストアンサー

IE7以上でVB2008だと、VBA(VB6)の"InternetExplorer.application"オブジェクトが何故か動きません(参照設定しても)
VB2008でWebBrowserコントロールオブジェクトを使うときは、今一面倒です。

ご質問のケースでは、<form>タグが無いのですね。このような時は、
<input type"submit" ...>のタグを探してInvokeMember("click")するしかないでしょう。
探し方は、いろいろありますが、一例を挙げると、
WebBrowser1.Document.GetElementsByTagName("input").Count
の数だけループして
webBrowser1.Document.GetElementsByTagName("input").Item(i).GetAttribute("Type").ToString
の値が "submit" の要素を見つけて
WebBrowser1.Document.GetElementsByTagName("input").Item(i).InvokeMember("click")
です。

IE7以上でVB2008だと、VBA(VB6)の"InternetExplorer.application"オブジェクトが何故か動きません(参照設定しても)
VB2008でWebBrowserコントロールオブジェクトを使うときは、今一面倒です。

ご質問のケースでは、<form>タグが無いのですね。このような時は、
<input type"submit" ...>のタグを探してInvokeMember("click")するしかないでしょう。
探し方は、いろいろありますが、一例を挙げると、
WebBrowser1.Document.GetElementsByTagName("input").Count
の数だけループして
webBrowser1.Documen...続きを読む

QWebBrowserに表示されているページのソースの取得方法

RichTextBox1.Text =WebBrowser1.Document.body.innertext
とすれば表示されている文字は取得できるのですがタグ付きのソースは
取得できません。

webBrowserコントロールに表示されている文字だけでなくタグもいっしょに
取得するにはどうすればよいのでしょうか

Aベストアンサー

WebBrowser1.Document.body.outerHTML
で取得できると思います。

QIE操作時、ファイルのダウンロードボタンの押下

IEをvb.netから操作しています。
webからファイルのダウンロードを自動で行いたいのですが、どのようにすればいいのかわからず悩んでいます。

画像の赤枠で括ってあるボタンの押下を、vb.netからの操作で行いたいのですが、どのようにすれば良いでしょうか。
InternetExplorer.Applicationに何らかのメンバ関数のようなものがあるのか、sendkeysを使うしかないのか、sendkeysを使うなら、具体的にどのキー操作を送れば良いのかなど、お教えいただけないでしょうか。

よろしくお願いします!

Aベストアンサー

Windows7 IE9ですが、↓で動きました

Private Delegate Function D_EnumChildWindowsProc(ByVal hWnd As IntPtr, ByVal lParam As IntPtr) As IntPtr

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As IntPtr, ByVal hWnd2 As IntPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As IntPtr
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As IntPtr, ByVal wParam As IntPtr, ByVal lParam As String) As IntPtr

Private Const WM_ACTIVATE = &H6
Private Const BM_CLICK = &HF5
Private Const WM_GETTEXT = &HD
Private Const WM_QUIT = &H10

Private Const NAVDIR_NEXT = &H5
Private Const NAVDIR_FIRSTCHILD = &H7
Private Const CHILDID_SELF = &H0
Private Const OBJID_CLIENT = &HFFFFFFFC

Private Declare Function AccessibleObjectFromWindow Lib "oleacc" _
(ByVal hWnd As IntPtr, ByVal dwId As IntPtr, _
ByRef riid As Guid, <MarshalAs(UnmanagedType.IUnknown)> ByRef ppvObject As Object) As IntPtr
Declare Function AccessibleChildren Lib "oleacc" _
(ByVal paccContainer As IAccessible, ByVal iChildStart As IntPtr,
ByVal cChildren As IntPtr, <[Out]()> ByVal rgvarChildren() As Object, ByRef pcObtained As IntPtr) As IntPtr

Private IID_IAccessible As Guid = New Guid(&H20400, 0, 0, {&HC0, 0, 0, 0, 0, 0, 0, &H46})

Sub FileDownLoad_Proc()
Dim strCaption As String
Dim PWnd As IntPtr
Dim cWnd As IntPtr

' 親ウィンドウ取得
strCaption = "○○○○ - Windows Internet Explorer"
While PWnd = 0
PWnd = FindWindowEx(0, 0, "IEFrame", strCaption)
System.Threading.Thread.Sleep(50)
End While

' 通知バーのハンドル
While cWnd = 0
cWnd = FindWindowEx(PWnd, 0&, "Frame Notification Bar", vbNullString)
System.Threading.Thread.Sleep(50)
End While

' 通知バーボタン群のハンドル
Dim hChild As IntPtr = FindWindowEx(cWnd, 0&, "DirectUIHWND", vbNullString)
Dim objAcc As IAccessible = Nothing

AccessibleObjectFromWindow(hChild, OBJID_CLIENT, IID_IAccessible, objAcc)

If Not IsNothing(objAcc) Then
ClickPreserve(objAcc)
While cWnd = 0
cWnd = FindWindowEx(PWnd, 0&, "Frame Notification Bar", vbNullString)
System.Threading.Thread.Sleep(50)
End While
SendMessage(cWnd, WM_QUIT, 0, 0&)

End If

End Sub
Private Sub ClickPreserve(ByVal acc As IAccessible)

Dim i As Long
Dim count = acc.accChildCount
Dim lst(count - 1) As Object

If count > 0 Then
AccessibleChildren(acc, 0, count, lst, 0)
If Not IsNothing(lst) Then
For i = LBound(lst) To UBound(lst)
With lst(i)
'On Error Resume Next
'Debug.Print("ChildCount: " & .accChildCount)
'Debug.Print("Value: " & .accValue(CHILDID_SELF))
'Debug.Print("Name: " & .accName(CHILDID_SELF))
'Debug.Print("Description: " & .accDescription(CHILDID_SELF))
'On Error GoTo 0
'保存ボタンを見つけたらクリック(デフォルトアクション)する
If .accName(CHILDID_SELF) = "保存" Then

System.Threading.Thread.Sleep(500)
.accDoDefaultAction(CHILDID_SELF)
System.Threading.Thread.Sleep(500)
End If
End With
ClickPreserve(lst(i)) '再帰
Next
End If
End If
End Sub

Windows7 IE9ですが、↓で動きました

Private Delegate Function D_EnumChildWindowsProc(ByVal hWnd As IntPtr, ByVal lParam As IntPtr) As IntPtr

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As IntPtr, ByVal hWnd2 As IntPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As IntPtr
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As IntPtr, ByVal wParam As IntPtr, ByVal lP...続きを読む

QvbaでIEの名前を付けて保存(A)をしたい

VBA で IEの通知バー を操作したいです。
SendKeys で 通知バーの 保存(S) はできたのですが、
保存(s)の右隣の ▼ をクリックするとでてくる、 名前を付けて保存(A) の方法がわかりません。

どのようなキーをおくればよいのでしょうか。


他の質問をみると、SendKeysではなく ○○がよいですよ みたいな内容しか見つからず、
回答をみつけることができなくて困っておりますのでよろしくお願いいたします。

Aベストアンサー

VBAでインターネット上のファイルをダウンロードする方法をまとめてみました。 | 初心者備忘録
http://www.ka-net.org/blog/?p=4855
とか。

Qファイルのダウンロードで、ダイアログを出したくない

Firefox で
<input type=submit name=F868 value="注文伝票ダウンロード">
の場所をクリックすると、気持良く何も表示せずに
ダウンロードが完了します。

一方、IE(Internet Explorer)では、2つのダイアログボックスが現れます。

1個目は、「ファイルのダウンロード」ダイアログで、
  開く(Q)   保存(S)   キャンセル
を選択します。(ここで保存を選択します。)

2個目は、「名前を付けて保存」ダイアログで、
  デスクトップ に B1307599492-1.html
などの名前で「保存」します。
この名前は、自動で表示されます。

IE でも、気持良く何も表示せずにダウンロードが
できるようにするには、どうしたら良いのでしょうか?

Aベストアンサー

#4,5です。

>ヤフーショップの店長が、お客様の注文伝票をダウンロードするときの形式は、PDF と HTML を選択できます

あー、なるほど。お客様からの注文がそれなりの件数になれば、いちいち保存ダイアログが出てくるのはわずらわしいですものね。
それで手間を減らそうとしていたのですね。

#4での補足でどのようなフォームなのかは大筋わかりましたが、注文伝票ダウンロードのボタンをクリックしたときにどのような処理動作が渡されるているのかがわかりません。
もし、ただのリンクボタンならばそのままブラウザで表示されるはずですので。
(記述を表示されても私では理解しきれません)

「オプション設定」といったのは、Downstairもそうですが、インターネットオプションやフォルダオプションでの設定も含めてなにか関連していないかなと思ったのです。
フォルダオプションは、HTMLの詳細設定で「ダウンロード後に開く確認をする」のチェックを入れていますか?
チェックを外していたらチェックを入れて再度ダウンロードしてみてください。
チェックが入っている状態なら一旦チェックを外してOK、再度開いてチェックを入れてOK。

まだエラーが出るようなら、他の方法も考えられてはいかがでしょう。
Firefoxでならすんなりダウンロードできるのなら、Firefoxを使われては?
IEでなければならない理由でもあるのでしょうか。

あとはIE系列のブラウザでSleripnirというブラウザがあります。
こちらもダウンロードに関する動作はIEと同じでダイアログがでますが、Lorikeetというプラグインを入れることでダウンロードマネージャとしての機能をもつことができます。
IEと同じ症状が出るかもしれませんが、試してみますか?
どうしてもIEでなければダメというのなら、私には他の方法は見当たりません。

一応リンクはっておきますね。
【Sleipnir】
http://www.fenrir.co.jp/sleipnir/

【Lorikeet】
http://www.fenrir.co.jp/sleipnir/plugins/lorikeet.html

#4,5です。

>ヤフーショップの店長が、お客様の注文伝票をダウンロードするときの形式は、PDF と HTML を選択できます

あー、なるほど。お客様からの注文がそれなりの件数になれば、いちいち保存ダイアログが出てくるのはわずらわしいですものね。
それで手間を減らそうとしていたのですね。

#4での補足でどのようなフォームなのかは大筋わかりましたが、注文伝票ダウンロードのボタンをクリックしたときにどのような処理動作が渡されるているのかがわかりません。
もし、ただのリンクボタンならばそのままブ...続きを読む

QWebBrowserを使ってプルダウンを操作するには?

WebBrowserを使ってComboboxで選んだやつをWeb上のプルダウンに反映させたいのですがどうしたらいいでしょうか。
Comboboxは
4日
5日
6日
7日
ソースを見るとこのようになっていました。
<select name="date">
<option value="4">4日 
<option value="5">5日
<option value="6">6日 
<option value="7" selected>7日 
</select>
どなたかわかる方がいましたら教えていただけませんか。
初心者なのでわかりやすくお願い致します。

Aベストアンサー

お世話になります。

教えて!goo の検索オプションの一部を操作する画面を作ってみました。

該当するのは以下の箇所です。
============================================================
<tr>
<td align="center" valign="middle" nowrap bgcolor="#E6E6E6"><b><font size="-1">カテゴリ指定</font></b></td>
<td bgcolor="#efefef">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<input type="radio" name="ct_select" value="0" checked onClick="disableCT()">
<font size="-1">指定しない</font></td>
<td></td>
</tr>
<tr>
<td valign="top">
<input type="radio" name="ct_select" value="1" onClick="effectiveCT()">
<font size="-1">指定する</font></td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td>

<select size="1" id="ct0" name="ct0" onChange="change(this.form)" style="width:200;"><option value="" selected>大カテゴリー</option><option value="214">ライフ</option><option value="207">デジタルライフ</option><option value="212">趣味</option><option value="209">エンターテインメント</option><option value="211">美容&健康</option><option value="206">ビジネス&キャリア</option><option value="208">社会</option><option value="213">マネー</option><option value="210">学問&教育</option><option value="932">[地域情報] 旅行・レジャー・生活</option><option value="205">[技術者向] コンピューター</option><option value="713">【特設】アンケート</option><option value="517">このQ&Aコミュニティーについて</option></select>
</td>
</tr>
============================================================

Form に WebBrowser と Button を 1 つずつデザイナで貼り付け、
以下のコードを書いて実行して Button を押下すると、
http://oshiete.goo.ne.jp/search/search.php の
カテゴリ指定のところが
『指定する』にチェックが入り、大カテゴリが『[技術者向]コンピューター』になります。

Public Class Form1
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.Button1.Enabled = False
    Me.WebBrowser1.Navigate("http://oshiete.goo.ne.jp/search/search.php")
  End Sub

  Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    Me.Button1.Enabled = True
  End Sub

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    ' 「指定する」ラジオボタンにチェックを入れる
    Me.WebBrowser1.Document.All.GetElementsByName("ct_select")(1).InvokeMember("click")

    ' 最初の ComboBox を取得する
    Dim firstCombo As HtmlElement = Me.WebBrowser1.Document.GetElementById("ct0")

    ' ComboBox の値を設定する
    firstCombo.SetAttribute("selectedindex", "11")
  End Sub
End Class

お世話になります。

教えて!goo の検索オプションの一部を操作する画面を作ってみました。

該当するのは以下の箇所です。
============================================================
<tr>
<td align="center" valign="middle" nowrap bgcolor="#E6E6E6"><b><font size="-1">カテゴリ指定</font></b></td>
<td bgcolor="#efefef">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<input type="radio" name="ct_select" value="0" checked onClick="disableCT()">
<font size...続きを読む

QWebBrowserコントロールの基本認証に入力

WebBrowserコントロールの基本認証で出てくるポップアップ画面にVBでIDとパスワードを入力したいのですが、これはどのようにやればいいのでしょうか?

よろしくお願いします。

Aベストアンサー

冴えない方法だけど..

http://www.ken3.org/vba/backno/vba159.html
http://www.asahi-net.or.jp/~ai2h-ykmz/tech/base64vb.htm

QWEBページからのメッセージをVBAで

いつもお世話になっております。
エクセルVBAでIE制御についてです。
環境はWIN7、IE 9or11とエクセル2010です。

あるページのリンクをクリックすると、
WEBからのメッセージというダイアログボックスが出てきて、
続行しますか? はい いいえ を聞かれます。

その「はい」をVBAで押したいのですが、
sendkeysメソッドで押そうとしてもうまくいきません。

以下に記載したサイトのOKボタンを押すと出てくるものです。
http://kamicha1.web.fc2.com/Excel/Test20090726.html


以下が書いたコードです。


Declare Sub Sleep Lib "KERNEL32" (ByVal dwMilliseconds As Long)


Sub test()

Dim ie As Object

Set ie = CreateObject("InternetExplorer.Application")

ie.Visible = True
ie.navigate "http://kamicha1.web.fc2.com/Excel/Test20090726.html"
      
Do While ie.Busy Or ie.readyState < 4
DoEvents
Loop

ie.document.getElementsByClassName("bt2")(0).Click '-ここで止まる

Sleep 2000

SendKeys "{Enter}"

End Sub

ステップ実行していくと、ここで止まると書いた所で、
IE上にダイアログは表示されるのですが、
それ以上ステップ実行ができなくなってしまいます。

ダイアログを自分でOKかキャンセルで消すと続きが動くようになります。
その間はVBEはビジー状態となり操作できません。

そのためそれ以降のsendkeysメソッドに
たどり着けない状況かと思われます。

いろいろ調べたところIE8以降はダイアログボックスは
IEから出ているのではなくOS?から出ているとの事でした。

上記のサイトはHTML本体にjavaスクリプトが記載されており、
それをVBAから操作すればどうにかOKボタンが押せるらしいのですが、
自分が操作したいページにはそれらしき記載がありませんでした。

対象のアンカータグは
<a herl=URL 中略 data-comfirm=続行しますか? >
のような感じで記載がありました。

完全に煮詰まっております。
自動でOKをクリックするかEnterキーでOKを押すでも構いません。
どうかご教授お願いいたします。

いつもお世話になっております。
エクセルVBAでIE制御についてです。
環境はWIN7、IE 9or11とエクセル2010です。

あるページのリンクをクリックすると、
WEBからのメッセージというダイアログボックスが出てきて、
続行しますか? はい いいえ を聞かれます。

その「はい」をVBAで押したいのですが、
sendkeysメソッドで押そうとしてもうまくいきません。

以下に記載したサイトのOKボタンを押すと出てくるものです。
http://kamicha1.web.fc2.com/Excel/Test20090726.html


以下が書いたコードです。


Dec...続きを読む

Aベストアンサー

ご参考
https://gist.github.com/kumatti1/4028479

QWebBrowserから発生するInternet Explorer スクリプト エラーをおさえるには?

お世話になります。
http://www-6.ibm.com/jp/domino04/pc/support/Sylphd02.nsf/jtechinfo/SYJB-0174B4C

ここをみてスクリプトエラーが表示されないようにしたのですがWebBrowserだと表示されるようで困っています。WebBrowserの方でも表示されないようにするにはどうすればよろしいでしょうか?

Aベストアンサー

下記のコードを追加してみてください
WebBrowser1.Silent=True


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報