三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:「こんな感じ」や「あの、あの」と活舌の悪い、
三流プログラマーのオッサンです

当ブログではGoogle AdSenseおよび各種アフィリエイトプログラムを利用して広告を配信しています。

XXXXさんへ VBS IE操作でBlogにログイン ブログの入力・登録処理

VBS IE操作でBlogにログイン ブログの入力・登録処理

下記の質問をいただきました。


>https://www.so-net.ne.jp/blog/
>を自動で開き、IDとパスワードを入れて、ログインを押し、
>新規作成を押して、表示されるブログの記事作成画面で、
>タイトルと記事にEXCELで記載しておいた文章を入力させて、
>さらに、タグにもEXCELに記載しておいた文章を入力させて、
>タグ追加を行い、
>保存ボタンを押させたいです。
>どのようにしたら処理ができるのでしょうか?


ログイン

ログイン処理は、イロイロあるけど、
IDを探して、データセット、ボタンを押す感じかなぁ。

手前味噌サンプルだと

「ログイン」の検索結果一覧 - ken3memo (三流君)
http://d.hatena.ne.jp/ken3memo/archive?word=%A5%ED%A5%B0%A5%A4%A5%F3

から、探して、

VBS で IEを使用して楽天市場にログインしてみた - ken3memo (三流君)
http://d.hatena.ne.jp/ken3memo/20110721/1311244241

↑に探し方?調査方法が載っているので、参考にしてください。

ブログの入力、登録

ブログの登録もログイン同様に
IDやNameを探して、.valueにデータをセットしたり、
ボタンを.Clickでクリックしたりするパターンかなぁ。

ログイン後の画面なので、あまりサンプルが無いんだけど、処理で似ているのは、

「ブログの入力」の検索結果一覧 - ken3memo (三流君)
http://d.hatena.ne.jp/ken3memo/archive?word=%A5%D6%A5%ED%A5%B0%A4%CE%C6%FE%CE%CF

から、OCNのブログだけど、

5/27 IE操作 Access の フォームから ブログの入力フォーム(Webページ)へ転記する - ken3memo (三流君)
http://d.hatena.ne.jp/ken3memo/20090527/1243431779
でチラっと紹介されている、
2009-05-27 ソースをMDBに保存 と ブログへ登録
http://ie.vba-ken3.jp/sample/004/2009-05-27.html

↑が少し、参考になるかなぁ。※IDとかNameが違うので、そのまま使えないんだけど。。。

ログイン後の知りたい処理が書いてない 書きかけのコード

下記、ログイン後の知りたい処理、ブログの登録が書いていないコードです。

'VBS ログイン後、ブログへ登録、書きかけ
'(※ http://ie.vba-ken3.jp/sample/004/2009-05-27.html を参考に自分のブログ用にアレンジしてください...)

    'IEのオブジェクトを作成する
    Set objIE = CreateObject("InternetExplorer.application")
    objIE.Top = 100
    objIE.Left = 100
    objIE.Width = 1024

    objIE.Visible = True

    'ページを開く(.Navigateで表示する。)
    objIE.Navigate "http://blog.so-net.ne.jp/"
    Wscript.Sleep 1000   '1000で1秒

    '読み込み完了となるまで、ループする。
    While objIE.ReadyState <> 4 Or objIE.Busy  'READYSTATE_COMPLETE = 4
        Wscript.Sleep 100   '0.1秒待つ、1000で1秒
    Wend
    Wscript.Sleep 1000   '1秒

    'リンクを探す
    'ログイン ボタンを探して押す
    '<a href="javaScript:login_url();"><img src="/_common/img/header/login_sts_login.gif" alt="ログイン" /></a>
    'Aのタグを集める .getElementsByTagName("A")を使用
    Set objA = objIE.Document.getElementsByTagName("A")

    'ループで頭からhtmlが alt=ログイン を探す
    For n = 0 To objA.Length - 1
        '※ HTMLのalt=ログインを探したいので、.InnerTextでもなく.Valueでもなく .OuterHTMLを使用
        If Instr(objA(n).OuterHTML,"ログイン") > 0 Then  'HTML文字列の中から見つけたら
            objA(n).Click  '見つけたINPUTタグのオブジェクトをクリック
            WScript.Sleep  1000  '1秒待つ 1000で1秒
            Exit For
        End If
    Next
    'HTMLから探すから全て .OuterHTMLを使用してもいいかなぁ(ほかの時も、いつもOuterHTMLでも)

    Set objINPUT = Nothing  'オブジェクト変数解放

    '読み込み完了となるまで、ループする。
    While objIE.ReadyState <> 4 Or objIE.Busy  'READYSTATE_COMPLETE = 4
        Wscript.Sleep 100   '1000で1秒
    Wend
    Wscript.Sleep 1000   '1000で1秒

'この先のページで、IDとパスワードをセットする。セット後またログインを押すんだけど・・・
    'h2>So-net ユーザID ログイン</h2>

    'ユーザーID
    'input type="text" name="SSO_COMMON_ID" class="inputStyle" value="例&nbsp;yamadataro@ab3" size="30" maxlength="50" />
    '↑name="SSO_COMMON_ID"があるので、これを使い
    objIE.Document.All("SSO_COMMON_ID").Value = "testID@xxx"  'IDをセットする

    '次は、パスワードのセット
    'input type="password" name="SSO_COMMON_PWD" class="inputStyle" value="" size="30" maxlength="50" 
    '↑これも、名前が付いているので、 name="SSO_COMMON_PWD"を使う
    objIE.Document.All("SSO_COMMON_PWD").Value = "123456"  'パスワードをセットするをセットする

    'ログインボタンを押す
    'input name="" type="image" src="/blog/common/images/login/button_login.gif" value="ログイン" id="loginformsubmit" 
    '↑ログインの文字を探してもいいけど、id="loginformsubmit" があるので、これをクリックする
    objIE.Document.All("loginformsubmit")(0).Click  '指定したIDをクリック

    '読み込み完了となるまで、ループする。
    While objIE.ReadyState <> 4 Or objIE.Busy  'READYSTATE_COMPLETE = 4
        Wscript.Sleep 100   '1000で1秒
    Wend
    Wscript.Sleep 1000   '1000で1秒

'次に、この先のページで、ブログのタイトルとか、セットしたりするんだけど・・・

    'タイトルセット

    '本文セット

    'タグを処理

    '書き込みボタン? or 送信ボタンを押す

    '書き込み完了を待つ


'ログアウト処理

    'ログアウトボタンを押して、ログアウトする(これは無くてもいいかも)

'IEを閉じたり、後始末

    'objIE.Quit    'IEを閉じたり、後始末をする

終わりのあいさつ

ログイン先が不明なので・・と言い訳して、
中途半端なコードを紹介。
何かの参考となれば、、、

いつものように 逃げるように退散する三流プログラマーでした。


質問・感想・クレームなど、
気軽にコメント欄に書いてもらえるとうれしいです。

当ブログではGoogle AdSenseおよび各種アフィリエイトプログラムを利用して広告を配信しています。


フッター:最後にKen3Videoの動画一覧を紹介します

YouTubeにアップした動画です。他の動画を一瞬でも見てもらえるとさらに嬉しいです。
再生リスト:[三流君Ken3の最新動画]←リストの一覧形式で表示する


また、ブログを見に来てくださいね。ではまたぁ~