IE操作でのメール送信 削除
Message#11 2015年10月13日(火)16時39分 From: 菊池 幸之介 |
菊池 幸之介のメッセージ(#10)への返事 yahooメール画面へ行き、メールの作成をクリック、宛先入力、件名入力まで行い、最後に送信をクリックしているつもりなのですが、メール上のメッセージで「To:欄にあて先を入力してください。」と出ます。 ちなみにあて先は入力している状態で出ます。 手動で「送信」をクリックしてみると通常通り送信出来そうです。 クリックしている場所が違うのでしょうか。 回答のほど、よろしくお願いします。 コードはこちらです。 Sub yahoo() Dim ie As InternetExplorer Set ie = CreateObject("internetExplorer.Application") ie.Visible = True ie.navigate "https://jp.mg5.mail.yahoo.co.jp/neo/launch?.rand=64q38e8rjip34#tb=w8o0z9sc" Do While ie.Busy Or ie.readyState < READYSTATE_COMPLETE DoEvents Loop '2秒待ち Call WaitFor(2) 'メールの作成クリック For Each objLink In ie.document.Links If InStr(objLink.outerHTML, "メールの作成") > 0 Then objLink.click Exit For End If Next '2秒待ち Call WaitFor(2) '宛先入力 ie.document.getElementById("to-field").Value = "宛先" '2秒待ち Call WaitFor(2) '件名入力 ie.document.getElementById("subject-field").Value = "件名" '2秒待ち Call WaitFor(2) '送信クリック For Each objLink In ie.document.Links If InStr(objLink.outerHTML, "送信") > 0 Then objLink.click Exit For End If Next End Sub '指定した秒だけ停止する関数 Sub WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Sub > VBAマスターのメッセージ(#8)への返事 > > VBAマスターさんのやり方でできました!感動です! > ありがとうございます。 > > 完成形を載せておきます。 > Sub yahoo() > Dim ie As InternetExplorer > Dim i As Long > > Set ie = CreateObject("internetExplorer.Application") > ie.Visible = True > ie.navigate "https://jp.mg5.mail.yahoo.co.jp/neo/launch?.rand=64q38e8rjip34#tb=w8o0z9sc" > Do While ie.Busy Or ie.readyState < READYSTATE_COMPLETE > DoEvents > Loop > > Call WaitFor(2) > > For Each objLink In ie.document.Links > > If InStr(objLink.outerHTML, "メールの作成") > 0 Then > > objLink.Click > > Exit For > > End If > > Next > > > End Sub > > > '指定した秒だけ停止する関数 > Sub WaitFor(ByVal second As Integer) > Dim futureTime As Date > > futureTime = DateAdd("s", second, Now) > While Now < futureTime > DoEvents > Wend > End Sub > > > > > aタグをクリックするやり方がわからないのですがもしお分かりでしたら教えて頂けますでしょうか。 > > > > aタグに限らず、InStr関数で位置情報を取得し、位置が確認できたオブジェクトに対して処理をするというのが一般的な処理になります。 > > > > > > For Each objLink In objIE.document.Links > > > > If InStr(objLink.outerHTML, "メールの作成") > 0 Then > > > > objLink.Click > > > > Call ieCheck(objIE) > > > > Exit For > > > > End If > > > > Next |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。