タグ内のタグにアクセスする

タグ内のタグにアクセスする


obj = IE.document.getElementByIdなどでオブジェクトを取得
obj= obj.getElementsByTagName

タグの中にあるタグの情報にアクセスする

HTMLのタグは、タグの中にタグを記述することができます。例えば以下のような構造だとします。[Webページはこちら]

<div id="MainText">
 <p>Hello Boys</p>
 <p>And how's going Girls</p>
 <p>My name is Andy. Nice to meet you.</p>
</div>

上記はタグの中にタグがある「入れ子」という構造になっています。getElementsByTagNameでpを取得することもできますが、
まずはdiv(MainText)から取得して、その子であるpを取得する手法を説明します。

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://canal22.org/sample0016/")
REPEAT
  SLEEP(0.1)
UNTIL !IE.busy AND IE.readyState = 4

obj  = IE.document.getElementByID("MainText")
objP = obj.getElementsByTagName("p")

FOR A = 0 TO (objP.length - 1)
  PRINT (A+1) + "番目のp:" + objP.item(A).innerText
NEXT

親子のタグが複数ある場合でも大丈夫

最初から親のタグとその中にある子タグが分かっている場合は、範囲を限定しながら取得することができます

先ほどのサンプルでは、アクセスしたページの最初のdiv要素しか取得していません。
全てのdivタグの中にあるpを取得するプログラムは下記のようになります。

この投稿の続きを読む »

タグ

2013年2月24日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

ご教授いただけましたら幸いです。。

初めまして、先日から使い始めました。 プログラミングなど行ったことのないドシロウトですが 今後の勉強の為に取り組んでおります。 伺いしたいのは、ノートパッドでメモが1~10個あったとすると、各メモ帳をエクセルの指定した部分にコピー・ペースト出来るのでしょうか? 例えば メモ1はエクセルのA1セルへ、メモ2はエクセルのA2セルへ… という風なスクリプトはどのようにしたらよろしいのでしょうか? お手数ですが、ご教授いただけましたら幸いです。 よろしくお願いいたします。 小沢

タグ

2013年2月20日 | コメント/トラックバック(1) |

カテゴリー:掲示板

スタイルを設定する

スタイルを設定する


obj = IE.document.getElementByIdなどでオブジェクトを取得
obj.style.color = “red” //※例 フォントをredに設定

スタイルを設定する

取得したオブジェクトのstyle属性に値をセットすることでスタイルを変えることができます

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://canal22.org/sample0013/")
REPEAT
  SLEEP(0.1)
UNTIL !IE.busy AND IE.readyState = 4

h4Tag = IE.document.getElementsByTagName("h4")
FOR A = 0 TO (h4Tag.length - 1)
 h4Tag.item(A).style.color = "red"
NEXT

スタイルに設定できる種類の数

例えば、枠線を設定したい場合はstyle.border = “1px black solid”と記述します。
フォントサイズでしたら、style.fontSize = “80px”とします。
もし、CSS(Cascading Style Sheet)をご存知でしたら、この辺りの設定と表示の関連性が想像できるかと思います。
CSSのリファレンス一覧などを参照に、任意の設定を試してみてください。

以下のサンプルでは、いろいろなスタイルを設定し、視覚的に変化したことがわかるようになっています。
スクリプトはこのようになります。

この投稿の続きを読む »

タグ

2013年2月19日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

テキストエリアに値が入らない

http://photoup-ex.com/up/1356841907/20130217-q4ez3/511fa68d00262.jpg


IE.document.forms[0].description.value = “htmlタグ”

で”HTML”の方に値を入れたいのですが、挿入できません。
何かいい方法は無いでしょうか?
“HTML”も”Standard”もnameはdescriptionだと思います。
こちらは”textarea”でnameは”description”です。
何故ここだけ値を入れることが出来ないのでしょうか?

タグ

2013年2月17日 | コメント/トラックバック(5) |

カテゴリー:掲示板

exe化後、フォルダ格納時アイコン変更できていない事象

お世話になります アイコン変更についてご質問です。 UWSCver.4.8d pro版にてexe化する際、アイコン変更指定後 アイコン自体は一旦変更されているのですが、 フォルダ内格納及び圧縮するとUWSCのロゴに戻ってしまいます。 コード内に埋め込む方法でも構いませんので、 解決法がありましたらご教示の程、宜しくお願い致します。

タグ

2013年2月16日 | コメント/トラックバック(2) |

カテゴリー:掲示板

Iframeの中にチェックボックスがある場合

こんにちわ!
いつもお世話になっております。

下の画像のように

Iframeの中にチェックボックスがある場合はどのように指定をすればいいのでしょうか?

IE.document.forms[0].leaf_3323.checked = True

では動きませんでした・・・
よろしければご教授いただけると助かります。

タグ

2013年2月15日 | コメント/トラックバック(7) |

カテゴリー:掲示板

GETOLEITEMを使わずitemで指定して要素を操作する

GETOLEITEMを使わずitemで指定して要素を操作する


obj = IE.document.getElementsByTagName(タグ名)
obj.item(N)

itemで要素を指定する

以下の様な構造のWebページにあるh4の要素を取得する場合、
GETOLEITEMを使わず、itemで番号を指定する方法も利用可能です。

<h1>Hello H1</h1>
<div id="mainCentric">
<h4>Yes! This is a pen.</h4>
<h4>No! No! No! This is not a pencil.</h4>
<p>Get some objects!</p>
<p>Then you go home!</p>
</div>

lengthで要素の数を取得できますので、itemで1つ1つ番号を指定することができます

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://canal22.org/sample0013/")
REPEAT
  SLEEP(0.1)
UNTIL !IE.busy AND IE.readyState = 4

h4Tag = IE.document.getElementsByTagName("h4")
FOR A = 0 TO (h4Tag.length - 1)
 PRINT h4Tag.item(A).innerText
NEXT

指定した要素はinnerText、innerHTMLどちらも使えますし、値の変更も可能です。

下記のスクリプトで、要素を取得して視覚的に分かりやすくログ出力した上で
取得後の要素を書き換えています。
以下のような書き方になります。

この投稿の続きを読む »

タグ

2013年2月14日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

指定したタグの中を変更する

指定したタグの中を変更する


obj = IE.document.getElementsByTagName(タグ)
obj.innerText = 新しいテキスト
obj.innerHTML = 新しいHTML

指定したタグの中を変更する

同じく以下の様な構造のWebページがあります。

<h1>Hello H1</h1>
<div id="mainCentric">
<h4>Yes! This is a pen.</h4>
<h4>No! No! No! This is not a pencil.</h4>
<p>Get some objects!</p>
<p>Then you go home!</p>
</div>

getElementsByTagNameで指定したタグを取得し、中を変更します。

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://canal22.org/sample0013/")
REPEAT
  SLEEP(0.1)
UNTIL !IE.busy AND IE.readyState = 4

h4Tag = IE.document.getElementsByTagName("h4")
FOR A = 0 TO (GETOLEITEM(h4Tag)-1)
 ALL_OLE_ITEM[A].innerText = "書き換えました。"
NEXT

innerHTMLで新たなタグを挿入

innerHTMLにタグを指定した文字列をセットすることも可能です。
スクリプトは以下のようになります。

この投稿の続きを読む »

タグ

2013年2月9日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

指定したidの中を変更する

指定したidの中を変更する


obj = IE.document.getElementById(ID名)
obj.innerText = 新しいテキスト
obj.innerHTML = 新しいHTML

指定したidの中を変更する

例えば以下の様な構造のWebページがあったとします。idを指定されたいくつかのタグで構成されています。

<p id="res1">The Capital is in Tokyo</p>
<p id="res2">Gold is just a Gold</p>
<p id="res3">You are fine!</p>
<ul id="fruit">
 <li>Banana</li>
 <li>Fig</li>
 <li>Apple</li>
</ul>
<ul id="fruit">
 <li>Kaki</li>
 <li>Lemon</li>
 <li>Cherry</li>
</ul>

getElementByIdでIDを指定することで該当のオブジェクトを取得できますので、そのオブジェクトのinnerTextやinnerHTMLに値をセットすることでIDの中を変更できます。

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://canal22.org/sample0014/")
REPEAT
  SLEEP(0.1)
UNTIL !IE.busy AND IE.readyState = 4

objId = IE.document.getElementById("res2")
objId.innerText = "お金はただのお金です"
PRINT "res2:日本語に変更します"
objId = IE.document.getElementById("res3")
objId.innerHTML = "<font color=red><strong><em>" + objId.innerText + "</em></strong></font>"
PRINT "res3:装飾します"

同名IDが複数ある場合は

上記のWebページではid=”fruit”と指定されている箇所が複数あります。
この場合にgetElementById(“fruit”)で指定したオブジェクトを変更するとどうなるでしょうか
スクリプトは以下のようになります。

この投稿の続きを読む »

タグ

2013年2月4日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

このページの先頭へ