ken3memo (三流君)

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


広告: [7月] [8月] [9月]

2011-01-24

VBA IE操作 .Focusでフォーカスをセットしてみた(入力エリアの移動)

下記のような質問をもらいました。

>あるページの決まった位置で画面を表示させるには、どのようにするのかご教授してもらえませんか?

>各ページに、サイト名、URL、コメントがあって、これを随時入力するプログラムを作成中です。

>このとき、入力するBOXが、ページの下のほうなので、

>トップからかなりスクロールしなければなりません。

>入力をモニターしたいので、新しいページに飛んだときに、画面表示を入力の場所に移動するには、

>どのようにするのがいいでしょうか?

単純に .Focus すると、入力エリアを移動することができるので、

目的のエリア オブジェクト.Focus で 使ってみてください。

'表示位置を調整する

objIE.Document.getElementsByName("名前")(0).Focus 'フォーカスをセット

↑こんな感じで、簡単に使えると思います。

Option Explicit

Sub ie_test()  'IEテストする。

'IEの起動
    Dim objIE As Object '変数を定義します。
    Set objIE = CreateObject("InternetExplorer.Application") 'オブジェクトを作成します。
    objIE.Visible = True      '可視、Trueで見えるようにします。
    
'処理したいページを表示します。
    objIE.Navigate "http://d.hatena.ne.jp/ken3memo/20110102/1293921661"

'ページの表示完了を待ちます。
    While objIE.ReadyState <> 4 Or objIE.Busy = True '.ReadyState <> 4の間まわる。
        DoEvents  '重いので嫌いな人居るけど。
    Wend
    
    '項目(name=xxxx)にセットする。
    objIE.Document.getElementsByName("username")(0).Value = "テスト君"
    objIE.Document.getElementsByName("useremail")(0).Value = "test@ken3.org"
    objIE.Document.getElementsByName("body")(0).Value = "ここにコメントを書く" & vbCrLf & "改行" & Now()
   
    '表示位置を調整する
    objIE.Document.getElementsByName("body")(0).Focus  'フォーカスをセット

End Sub

テストの結果、テスト動画

テストの動画 http://www.youtube.com/watch?v=E5S16C1LnMw

D

↑いつもの混乱ぶりを笑ってくださいね。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/ken3memo/20110124/1295853730



その他blog

流行のBlogで情報発信(手打ちのHTMLよりブログで更新が楽なので)
・はてなを使用して[id:ken3memo]メモ的に放り込んでいるブログです
・[objIE解説,vba] ・・・ VBAでIEを操作する サンプル ほか
・[VBA,ASP CODEのゴミ箱] ・・・ 主にVBAやASPのコードなど。
・[BBS過去ログ] ・・・ 過去ログをアップ
・[その他商品紹介Blog] ・・・ 内容の薄い、商品のメモ?です

アンテナ
巡回ページ

よく見るページ