EXCELのVBAに関する質問です。
未読分:4件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#4 2014年12月27日(土)18時08分 From: VBA | 返事 削除 変更 |
ありがとうございます! 参考のサイトを確認して試してみたいと思います。 |
Message#3 2014年12月27日(土)09時34分 From: NMC | 返事 削除 変更 |
F12を押せば確認できますが、このHP(ももくろ?)も以下のFrame構造になっていますね。 <FRAME noResize src="/m/GA1801HiddenFrame.do;jsessionid=4F8BC9B9B52E351E7FE12E1F19 CB99D4" name=hiddenFrame> <FRAME src="/m/GA1801LoginService.do;jsessionid=4F8BC9B9B52E351E7FE12E1F19 CB99D4" name=contents> したがって、12月18日と思われるIEの更新後は、従来は成功していたアクセス法が禁止されると思われます。 対策としては、frameアドレスを取得して直にアクセス(navigate)する方法が 考えられます。管理人様が一つの手法を書いておられます。 http://www.vba-ie.net/qanda/qanda.cgi?mode=viewthread&id=87 |
Message#2 2014年12月26日(金)09時40分 From: VBAマスター | 返事 削除 変更 |
POST送信とか。 Sub hoge() Const url = "https://www.mytruck.jp/m/loginCheck.do" Const strParam = "loginID=id&password=pw" Dim b() As Byte b = StrConv(strParam, vbFromUnicode) Dim strCookie As String Dim strHeaders As String strHeaders = "Content-Type: application/x-www-form-urlencoded " & vbCrLf With CreateObject("InternetExplorer.Application") .Visible = True .Navigate url, , , b, "Referer: https://www.mytruck.jp/m/GA1801LoginService.do" & vbCrLf & strHeaders End With End Sub あとは、プラウザーの表示を「互換性表示」の状態にしてから、このコードのテストをしてください |
Message#1 2014年12月26日(金)09時33分 From: VBA | 返事 削除 変更 |
EXCELのVBAに関する質問です。 VBAでIE(InternetExplorer11)を操作してサイトにログインをしていたのですが、ある日突然に、 実行時エラー'-2147024891(80070005)': アクセスが拒否されました。 と、表示が出てログイン出来なくなってしまいました。 こんな感じなんですけど… Sub ログイン() Set objIE = CreateObject("InternetExplorer.application") With objIE .Visible = True 'いすずのみまもりくんというサイトです。 .navigate "https://www.mytruck.jp/m/GA1801.do" .FullScreen = False .Top = 0 .Left = 1000 .Width = 800 .Height = 600 .Toolbar = True .MenuBar = False .AddressBar = True .StatusBar = True End With Do While objIE.Busy = True DoEvents Loop Dim frm1 As Object Dim intag As Object Dim k As Integer Dim user As Object Dim pass As Object Dim submit As Object Set frm1 = objIE.document.frames(1) Set intag = frm1.document.getElementsByTagName("input") '↑↑↑ここで止まってしまって '実行時エラー'-2147024891(80070005)': 'アクセスが拒否されました。 'と、表示されます。 For k = 0 To intag.Length - 1 If (intag.Item(k).getAttribute("name") = "loginID") Then Set user = intag.Item(k) End If If (intag.Item(k).getAttribute("name") = "password") Then Set pass = intag.Item(k) End If If (intag.Item(k).getAttribute("alt") = "ログイン") Then Set submit = intag.Item(k) End If Next Do While objIE.Busy = True DoEvents Loop Application.Wait Now + TimeValue("00:00:01") user.Value = "○○○○○○○○" 'ごめんなさい、ここはちょっと… pass.Value = "○○○○○○○○" 'ごめんなさい、ここはちょっと… submit.Click With objIE .FullScreen = False .Width = 900 .Height = 700 End With End Sub 急に出来なくなってしまって作業に困っています。 どなたか対処の方法がわかる方よろしくお願いいたします。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降