三流君 ken3のmemo置き場

メモ置き場、保管庫として利用。まとまっていませんがヨロシク

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。
(※詳細は[三流君 三流プログラマーとは?]を見てください)


広告:


[記事一覧、バックナンバーを見る]

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を閉じたり、後始末をする

終わりのあいさつ

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

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




三流君へ メッセージを送る

全ての質問に答えることはできませんが、
ダメもとで、気軽に質問、感想、メッセージを送ってくださいね・・・

感想や質問・要望・苦情など 三流君へメッセージを送る。
下記のフォームからメッセージを送ることができます。


あなたのお名前(ニックネーム):さん
返信は?:

アドレス:に返事をもらいたい
感想や質問↓:


(感想や質問・要望・苦情はHPで記事に載せることがあります。)
例:[XXXXさんへ回答例]←みたいに回答していたり...


Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。
・[Excel/Access VBA]の解説
・[ASP(Active Server Pages)]の解説。
・[元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
・[プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
三流君を踏み台にする
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。

三流解説動画の再生リスト
https://www.youtube.com/user/ken3video/playlists

本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)