エクセル・VBA・マクロ・JavaScript・Ajax・GoogleMaps・PHPプログラム CSSを追加

エクセルVBAプログラミングの基礎から応用までプログラミングの解説です。参考図書などは、広告収入で補っています。Excelをもっと使いこなしてもらえるようになったら嬉しいと思っています。
と思っていましたが、これからは2009/6/6からは、今までプログラムを作成する中でどうしても記録に残しておきたいものをメモとして残していきたいと思います。
EXCEL以外に追加したのは、JavaScript、Ajax、GoogleMaps、PHPです。みなさんにも参考になったらこの上ない喜びです。

メニューへ戻る     


UWSCの掲示板
UWSCはこちらにあります
UWSCはこれで勉強しました




UWSCの小技
  U10.スタイルシートを使ったボタンのクリック


あるWebページ上のボタンをクリックしたいのですが、
上手くいきません。

そのボタンなのですが、
HTMLソースを表示させてみますと、

<input type="submit" class="search" value="検索">

このように記述されています。

これに対し、

IE.Document.frames[0].Document.all["search"].click()

私は最初このようにUWSCのソースを書いてみました。
(前提として、そのページはフレーム分割されており、
フレーム番号0番の部分に位置するボタンです。)

ただ気になるのは、
HTMLソース上の class="search" という記述です。
これはおそらくスタイルシートと呼ばれるものですよね?

一般的には、

<input type="submit" name="search" value="検索">
~~~~
こう記述されるかと思います。

たしかにその検索ボタンは、
見た目がグレーのよくあるボタンとは若干異なる感じです。

そこで、
IE.document.frames[0].forms[0].elements[10].click
このようにしてもみましたが、
やはりダメでした。

ちなみに、その左隣にあるチェックボックスに対して、

IE.document.frames[0].forms[0].elements[9].click

このように記述すると「レ」がちゃんと入ります(チェックが入ります)




IE.document.frames[0].forms[0].submit()

では、
---
Uスクリプト:COM_Error:例外が発生しました。
xx行目:IE.document.frames[0].forms[0].submit()
---
となりました。

WINID = GETID("ブラウザのタイトルバーの名称")
CLKITEM(WINID,"検索",CLK_BTN)

としたのですが、何も起こらずに終了してしまいました。
CLKITEMってあまり使い慣れないのですが、
書き方おかしいですかね...?




COMエラーが出るということは、Submitの指定方法がまずかったかもしれません。
IE.document.frames[0].document.submit()
IE.document.frames[0].document.forms[0].submit()


CLK_BTN はWebページ中のボタンには使えないので
CLK_ACC を使います。

ボタンコントロールを認識しないので文章中に同じ文字列があると、
別の文字をクリックする場合があるので、GetItemで
ITM_ACCCLK    // アクセシビリティ用インターフェース経由でのクリック可能な物
を指定して何番目に来るのか確認しておくといいでしょう。
"検索"だけではIEのメニューを開いてしまうかも。

あと、IDは
ID = HNDToID(IE.HWND)
で取得すると確実です。




メニューへ戻る
inserted by FC2 system