単体で動作確認ができたので、
結合処理を行ってみます
下記、いつもの酔っ払い解説動画です。
https://youtu.be/Ymk_TSO7dQk
youtu.be
結合処理中のエラー、不具合
を
面白おかしく説明しようと
がんばってみましたが、
うまく料理できませんでした。
失敗やエラーのシナリオなど、うまく考えないとなぁ。
ただ単体のコードをつなげただけの意味ない動画ですが、
よろしくお願いします。
テスト作成したコード
Option Explicit Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'IEオブジェクトを受け取り、表示を待つ Sub IE_WAIT(objIE As Object) Sleep 250 '0.25秒待つ 'ページの表示完了を待ちます。 While objIE.ReadyState <> 4 Or objIE.Busy = True '.ReadyState <> 4の間まわる。 'DoEvents '重いので嫌いな人居るけど。 Sleep 200 '0.2秒待つ Wend Sleep 250 '0.25秒待つ End Sub '----------- Sub test結合_はてなブログ記事内容置換() '手作業でやると '1.ダッシュボードから記事の管理へ '記事の管理画面を開き 'https://blog.hatena.ne.jp/ユーザID/ブログID.hatenablog.com/entries 'IEの起動 Dim objIE As Object '変数を定義します。 Set objIE = CreateObject("InternetExplorer.Application") 'オブジェクトを作成します。 objIE.Visible = True '可視、Trueで見えるようにします。 objIE.Top = 0 objIE.Left = 0 Dim i As Integer For i = 1 To 10 '最高10ページ単位で処理する '処理したいページを表示します。 objIE.Navigate "https://blog.hatena.ne.jp/ユーザID/ブログID.hatenablog.com/entries" Call IE_WAIT(objIE) '終了待つ '2.指定文字で検索する 'movie:w560 で 検索して '該当の文字列を含んだ記事を探す '検索データをセットする objIE.document.all("q").Value = "movie:w560" 'objIE.document.all("q").Value = "movie:w999" 'エラーのテスト '検索ボタンを押す 'INPUTのタグを探す Dim objINPUT As Object For Each objINPUT In objIE.document.getElementsByTagName("input") Debug.Print objINPUT.Value '検索ボタンを見つけて押す If objINPUT.Value = "検索" Then objINPUT.Click 'クリック処理 DoEvents Exit For End If Next Call IE_WAIT(objIE) '検索終了待つ '3.編集画面を開く '編集画面を開く '※タイトルなどのリンクを押し、次の編集画面へ '編集処理を押す 'INPUTのタグを探す Dim objA As Object Dim Error_Flg As Integer Error_Flg = 1 '初期値をエラー 1:見つからないをセット For Each objA In objIE.document.getElementsByTagName("a") Debug.Print objA.href 'リンク先URL entry=を見つけて押す If InStr(objA.href, "entry=") > 0 Then objA.Click 'クリック処理 Error_Flg = 0 '処理データが見つかったので、フラグクリア Exit For End If Next '修正対象記事があるか?エラーチェック If Error_Flg = 1 Then 'MsgBox "修正記事が見つかりません" Exit For 'ループを抜ける End If Call IE_WAIT(objIE) '編集画面の起動を終了待つ '4.本文を書き換える '本文の 'movie:w560 'を ':embed:cite 'に書き換える 'データをセットする objIE.document.all("body").Value = Replace(objIE.document.all("body").Value, ":movie:w560", ":embed:cite") DoEvents '5.更新ボタンを押す '更新ボタンを押す objIE.document.all("submit-button").Click '更新ボタンをクリック DoEvents Call IE_WAIT(objIE) '編集画面の起動を終了待つ Next i MsgBox "更新終了" End Sub
関連記事は
やりたいこと → https://www.youtube.com/watch?v=QtDKAXRZuno
www.youtube.com
ブログ本文置換 → https://ken3code.hatenablog.jp/entry/2018/06/24/154957
ken3code.hatenablog.jp
ブログ記事検索 → https://ken3code.hatenablog.jp/entry/2018/06/26/060419
ken3code.hatenablog.jp
上記も合わせてみてください。
2020/05/21 追記(※アクセス数が増えたので、何かなぁと思ったら・・・ぉぃぉぃ)
三流君のコードは以下のようになっていたのですが
↓--------------------------------------------------
For Each objINPUT In objIE.document.getElementsByTagName("input")
If objINPUT.Value = "検索" Then
objINPUT.Click 'クリック処理↑--------------------------------------------------
現状のはてなの検索ボタンを押すには、
↓--------------------------------------------------
For Each objINPUT In objIE.document.getElementsByTagName("button")
If objINPUT.Type = "submit" Then
objINPUT.Click 'クリック処理↑--------------------------------------------------
以上の点を変更すると、うまく検索してくれるようになりました。
↑とても、ありがたいですね。みなさんも、いろいろとアレンジして使ってみてください。