エクセルVBA超初心者です。 無料ブログのジュゲムでは、更新していないと広告が付いてしまいます。 記事を更新すればいいのですが、今投稿されている新しい記事の日付を今日にして VBAで自動更新させようと考えています。 そこで、VBAによるIE自動制御 http://vba-code.net/ie/ このサイトを参考にして以下のようなコードを書いてみましたが、 途中まで上手くいったのですが、「現在の時刻を指定」と言うボタンと「投稿」ボタンがクリックされず困っています。 どのようにすればいいか教えていただけないでしょうか? よろしくお願いします。 Sub ジュゲムブログ更新() Dim objIE As Object 'IE起動 Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'ページ接続 objIE.navigate "http://jugem.jp/?mode=logout" 'IEを待機 Call IEWait(objIE) '5秒停止 Call WaitFor(5) 'ログインをクリック Call IELinkClick(objIE, "ログイン") 'IEを待機 Call IEWait(objIE) '5秒停止 Call WaitFor(5) ' ID、パスワードを入力 objIE.Document.getElementById("account_name").Value = Range("q1").Value objIE.Document.getElementById("password").Value = Range("r1").Value 'IEを待機 Call IEWait(objIE) '5秒停止 Call WaitFor(5) ' ログイン Call IEButtonClick(objIE, "ログイン(SSL)") '5秒停止 Call WaitFor(5) 'ブログを書くをクリック Call IELinkClick(objIE, "ブログを書く") 'IEを待機 Call IEWait(objIE) '5秒停止 Call WaitFor(5) 'ログイン Call IELinkClick(objIE, "記事の編集・削除") 'IEを待機 Call IEWait(objIE) '5秒停止 Call WaitFor(5) '編集の画像をクリック Call IEImageClick(objIE, "btn_entry.gif") 'IEを待機 Call IEWait(objIE) '5秒停止 Call WaitFor(5) ' 現在の時刻を指定をクリック←ここがどうしてもクリックできない Call IEButtonClick(objIE, "現在の時刻を指定") 'IEを待機 Call IEWait(objIE) '5秒停止 Call WaitFor(5) End Sub 'リンクをクリックする関数 Function IELinkClick(ByRef objIE As Object, ByVal anchorText As String) Dim objLink As Object For Each objLink In objIE.Document.getElementsByTagName("A") If objLink.innerText = anchorText Then objIE.navigate objLink.href Exit For End If Next End Function 'IEを待機する関数 Function IEWait(ByRef objIE As Object) Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Loop End Function '指定した秒だけ停止する関数 Function WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Function 'ボタンを押す関数 Public Function IEButtonClick(ByRef objIE As Object, buttonValue As String) Dim objInput As Object For Each objInput In objIE.Document.getElementsByTagName("INPUT") If objInput.Value = buttonValue Then objInput.Click Exit For End If Next End Function '画像をクリックする関数 Public Function IEImageClick(ByRef objIE As Object, imageSrc As String) Dim objImage As Object For Each objImage In objIE.Document.getElementsByTagName("IMG") If InStr(objImage.src, imageSrc) > 0 Then objImage.Click Exit For End If Next End Function
↧