ワークシートの追加、ワークシートの選択と名前取得

ワークシートの追加、
および選択と名前取得をする方法を解説します

worksheets.add
worksheets(N).name

ワークシートの追加、選択、名前取得を実行

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.workbooks.add()
EXCEL.activeworkbook.worksheets.add()
FOR A = 1 TO Excel.activeworkbook.worksheets.count
 PRINT Excel.activeworkbook.worksheets(A).name
NEXT

上記のスクリプトを実行することで、結果を確認できます。

複数のシートを追加し、シート名を変更する

シートの名前は変更することができます。複数のワークシートを処理する以下のスクリプトを見てみましょう。

この投稿の続きを読む »

タグ

2012年10月20日 | コメントは受け付けていません。 |

カテゴリー:UWSCとExcel

IE.document.forms.elementsに情報を入力して送信

IE.document.forms.elementsではエレメントの情報取得に加え、
値をセットすることもできます。
フォームのオブジェクトに値を自動入力し、
サブミット(送信)するには以下のようにします。

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

//「名前」=大小山田を入力
IE.document.forms[0].elements[0].value = "大小山田"
//「都道府県」=北海道を選択
IE.document.forms[0].elements[1].selectedIndex =  3
//「性別」=女性にチェック
IE.document.forms[0].elements[3].checked = True
//「好きな色」=赤、青、黄にチェック
IE.document.forms[0].elements[5].checked = True
IE.document.forms[0].elements[6].checked = True
IE.document.forms[0].elements[7].checked = True
//「パスワード」=1234567890を入力
IE.document.forms[0].elements[8].value = "1234567890"
//「備考」=改行を含む文字列を入力
IE.document.forms[0].elements[9].value = "Hola!<#CR>こんにちは"

MSGBOX("一度リセットします")
IE.document.forms[0].reset()

MSGBOX("再度入力します")

//「名前」=大小山田を入力
IE.document.forms[0].elements[0].value = "大小山田"
//「都道府県」=北海道を選択
IE.document.forms[0].elements[1].selectedIndex =  3
//「性別」=女性にチェック
IE.document.forms[0].elements[3].checked = True
//「好きな色」=赤、青、黄にチェック
IE.document.forms[0].elements[5].checked = True
IE.document.forms[0].elements[6].checked = True
IE.document.forms[0].elements[7].checked = True
//「パスワード」=1234567890を入力
IE.document.forms[0].elements[8].value = "1234567890"
//「備考」=改行を含む文字列を入力
IE.document.forms[0].elements[9].value = "Hola!<#CR>こんにちは"

MSGBOX("サブミットします※プログラムは用意していないため「ページが無い」エラーがでます")
IE.document.forms[0].ok.click()

nameを指定するパターンも可能

nameプロパティから取得した値でも指定可能です。
IE.document.forms[0].onamaeとやればname=onamaeとなっているオブジェクトを
指定可能です。
例えばラジオボタンのオブジェクトの場合、同名のものが複数あるケースが多いので
名前指定時にも配列番号で、細かく特定することができます。
以下のスクリプトで見てみましょう。

この投稿の続きを読む »

タグ

2012年10月8日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

IE.document.forms.elementsから取得できるエレメントの情報

IE.document.forms.elementsからエレメントの情報取得が行えます。
formsというフォームオブジェクトの中には
入力項目等を備えたelementsオブジェクトがあります。
テキストボックスやセレクトボックスなどの各入力項目から
以下のような情報が取得できます。

エレメント
エレメントの総数
IE.document.forms[n].elements.length
エレメントのオブジェクト(フォーム、エレメントともにnに0からの数値を指定)
タイプ
IE.document.forms[n1].elements[n2].type
※selectボックスは”select-one”と取得
名前
IE.document.forms[n1].elements[n2].name
IE.document.forms[n1].elements[n2].value

チェック状態(true=チェック有り、false=チェック無し)
IE.document.forms[n1].elements[n2].checked
checkboxやradioボタンから取得します

クラス名
IE.document.forms[n1].elements[n2].className
id
IE.document.forms[n1].elements[n2].id
uniqueID
IE.document.forms[n1].elements[n2].uniqueID
フォーカス順序(Tabでの移動順)
IE.document.forms[n1].elements[n2].tabIndex
タグ名
IE.document.forms[n1].elements[n2].tagName
クラス名
IE.document.forms[n1].elements[n2].className
セレクトボックス固有のオブジェクト

selectボックスはその中にoptionsオブジェクトがあり、
選択肢の情報を有しています。

選択されているインデックス

IE.document.forms[n1].elements[n2].selectedIndex

選択肢の数(elementsではselectボックスを選択)

IE.document.forms[n1].elements[n2].options.length

選択肢の表示名

IE.document.forms[n1].elements[n2].options[n3].text

選択肢の値

IE.document.forms[n1].elements[n2].options[n3].value

初期選択値か否か(true=初期選択値、false=初期選択値ではない

IE.document.forms[n1].elements[n2].options[n3].defaultSelected

インデックス(0からの番号)

IE.document.forms[n1].elements[n2].options[n3].index

選択状態(true=選択されている、false=選択されていない)

IE.document.forms[n1].elements[n2].options[n3].selected

チェックボックス、ラジオボタン固有のオブジェクト
チェックされているか(true=チェックされている、false=チェックされていない

IE.document.forms[n1].elements[n2].checked

初期状態でチェックされているか(true=チェックされている、false=チェックされていない

IE.document.forms[n1].elements[n2].defaultChecked

というわけで、
具体的にスクリプトを実行させて、結果を見てみましょう。

実行時のイメージ動画は下記の通りです。

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = true
IE.navigate("http://canal22.org/sample0005/")

REPEAT
 SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate = 4

FOR n = 0 TO (IE.document.forms.length -1)

 PRINT "<" + (n+1) + "目のフォーム><#CR>"

    PRINT "■エレメントの数:" + IE.document.forms[n].elements.length + "<#CR>"
    PRINT "  エレメントのタイプと名前と値:<#CR>"
    PRINT "  └(type) IE.document.forms[n].elements[i].type" 
    PRINT "  └(name) IE.document.forms[n].elements[i].name"
    PRINT "  └(value) IE.document.forms[n].elements[i].value"
    PRINT "  └(checked) IE.document.forms[n].elements[i].checked"
  FOR i = 0 TO (IE.document.forms[n].elements.length -1)
    PRINT "    └(type:name) " + IE.document.forms[n].elements[i].type + ":" + IE.document.forms[n].elements[i].name
    PRINT "      └(value) " + IE.document.forms[n].elements[i].value
    PRINT "      └(className) " + IE.document.forms[n].elements[i].className
    PRINT "      └(id) " + IE.document.forms[n].elements[i].id
    PRINT "      └(uniqueID) " + IE.document.forms[n].elements[i].uniqueID
    PRINT "      └(tabIndex) " + IE.document.forms[n].elements[i].tabindex
    PRINT "      └(tagName) " + IE.document.forms[n].elements[i].tagName
    
      //セレクトボックスの情報を取得
      IFB IE.document.forms[n].elements[i].type = "select-one"
       PRINT "      └(selectedIndex) " + IE.document.forms[n].elements[i].selectedIndex
       FOR cin = 0 TO (IE.document.forms[n].elements[i].options.length - 1)
       PRINT "        └(options.text) " + IE.document.forms[n].elements[i].options[cin].text
       PRINT "        └(options.value) " + IE.document.forms[n].elements[i].options[cin].value
       PRINT "        └(options.defaultSelected) " + IE.document.forms[n].elements[i].options[cin].defaultSelected
       PRINT "        └(options.index) " + IE.document.forms[n].elements[i].options[cin].index
       PRINT "        └(options.selected) " + IE.document.forms[n].elements[i].options[cin].selected
       NEXT

      ENDIF

      //チェックボックスの情報を取得
      IFB IE.document.forms[n].elements[i].type = "checkbox" OR IE.document.forms[n].elements[i].type = "radio"
       PRINT "      └(checked) " + IE.document.forms[n].elements[i].checked
       PRINT "      └(defaultChecked) " + IE.document.forms[n].elements[i].defaultChecked
      ENDIF


  NEXT
  PRINT "<#CR>---------------<#CR>"

NEXT

nameを指定するパターンでもOK

IE.document.forms[n1].elements[n2]と配列番号で指定していますが、
もちろんnameプロパティから取得した値でも指定可能です。
IE.document.forms[0].onamaeとやればname=onamaeとなっているオブジェクトを
指定可能です。
例えばラジオボタンのオブジェクトの場合、同名のものが複数あるケースが多いので
名前指定時にも配列番号で、細かく特定することができます。
以下のスクリプトで見てみましょう。

この投稿の続きを読む »

タグ

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

カテゴリー:UWSCとInternetExplorer

IE.document.imagesから取得できる画像の情報

IE.document.imagesから画像の情報取得が行えます

ページ内画像数
画像数
IE.document.images.length
画像のオブジェクト(0からの数値を指定)
画像ファイル名
IE.document.images[0].nameProp
画像URL
IE.document.images[0].src
プロトコル
IE.document.images[0].protocol
ページ内タグ位置
IE.document.images[0].sourceIndex
ALT属性
IE.document.images[0].alt
TITLE属性
IE.document.images[0].title
枠線
IE.document.images[0].border
class
IE.document.images[0].class
id
IE.document.images[0].id
name
IE.document.images[0].name
ユニークID
IE.document.images[0].uniqueID
高さ
IE.document.images[0].height
横幅
IE.document.images[0].width
読込完了
IE.document.images[0].complete

というわけで、
具体的にスクリプトを実行させて、結果を見てみましょう。
実行時のイメージ動画は下記の通りです。

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://canal22.org/sample0003/")

REPEAT
 SLEEP(0.1)
UNTIL !IE.busy AND IE.readyState = 4

PRINT "■ページ内画像総数:" + IE.document.images.length
FOR A = 0 TO (IE.document.images.length-1)
 PRINT "  ▼画像" + (A+1)
 PRINT "  画像ファイル名:" + IE.document.images[A].nameProp
 PRINT "  画像URL:" + IE.document.images[A].src
 PRINT "  プロトコル:" + IE.document.images[A].protocol
 PRINT "  ページ内タグ位置:" + IE.document.images[A].sourceIndex
 PRINT "  ALT属性:" + IE.document.images[A].alt
 PRINT "  TITLE属性:" + IE.document.images[A].title
 PRINT "  枠線:" + IE.document.images[A].border
 PRINT "  class:" + IE.document.images[A].className
 PRINT "  id:" + IE.document.images[A].id
 PRINT "  name:" + IE.document.images[A].name
 PRINT "  ユニークID:" + IE.document.images[A].uniqueID
 PRINT "  高さ:" + IE.document.images[A].height
 PRINT "  横幅:" + IE.document.images[A].width
 PRINT "  読込状況:" + IE.document.images[A].complete
 PRINT "  -----"
NEXT

指定画像が出てきたらメッセージを出す

それでは、画像オブジェクトの情報を読み込みながら、条件分岐をして見ましょう。
ページにアクセスしていき、指定画像が出現したらメッセージを出します。
スクリプトは以下の通りです。
実行時のイメージ動画は下記の通りです。

この投稿の続きを読む »

タグ

2012年7月22日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

IE.document.linksから取得できる情報、リンクの操作

IE.document.linksからリンクの情報取得、操作が行えます

リンク
リンクの数
IE.document.links.length
リンクのオブジェクト(0からの数値を指定)
ホスト名:ポート
IE.document.links[n].host
ホスト名
IE.document.links[n].hostname
リンク先アンカー
IE.document.links[n].hash
リンク先URL
IE.document.links[n].href
パス名
IE.document.links[n].pathname
ポート
IE.document.links[n].port
プロトコル
IE.document.links[n].protocol
パラメータ
IE.document.links[n].search
ターゲット
IE.document.links[n].target
アンカー
アンカーの数
IE.document.anchors.length
アンカーのオブジェクト(0からの数値を指定)
アンカー名
IE.document.anchors[n].name

というわけで、
具体的にスクリプトを実行させて、結果を見てみましょう。

IE = CreateOleObj("InternetExplorer.Application")
IE.visible = true
IE.navigate("http://canal22.org/sample0001/?hello=myFriend")
REPEAT
 SLEEP(0.1)
UNTIL !IE.busy AND IE.readyState = 4

PRINT "■リンクの数"
PRINT "IE.document.links.length=" + IE.document.links.length
  PRINT "-----"
  PRINT "  1:host=ホスト名:ポート"
  PRINT "  2:hostname=ホスト名"
  PRINT "  3:hash=リンク先アンカー"
  PRINT "  4:href=リンク先URL"
  PRINT "  5:pathname=パス名"
  PRINT "  6:port=ポート"
  PRINT "  7:protocol=プロトコル"
  PRINT "  8:search=パラメータ"
  PRINT "  9:target=ターゲット"
  FOR A = 0 TO (IE.document.links.length - 1)
    PRINT "-----"
    PRINT "  1:IE.document.links[" + A + "].host="     + IE.document.links[A].host
    PRINT "  2:IE.document.links[" + A + "].hostname=" + IE.document.links[A].hostname
    PRINT "  3:IE.document.links[" + A + "].hash="     + IE.document.links[A].hash
    PRINT "  4:IE.document.links[" + A + "].href="     + IE.document.links[A].href
    PRINT "  5:IE.document.links[" + A + "].pathname=" + IE.document.links[A].pathname
    PRINT "  6:IE.document.links[" + A + "].port="     + IE.document.links[A].port
    PRINT "  7:IE.document.links[" + A + "].protocol=" + IE.document.links[A].protocol
    PRINT "  8:IE.document.links[" + A + "].search="   + IE.document.links[A].search
    PRINT "  9:IE.document.links[" + A + "].target="   + IE.document.links[A].target
  NEXT
  PRINT "-----"


PRINT "■アンカーの数"
PRINT "IE.document.anchors.length=" + IE.document.anchors.length
  PRINT "  アンカー名"
  FOR A = 0 TO (IE.document.anchors.length - 1)
    PRINT "IE.document.anchors[" + A + "].name=" + IE.document.anchors[A].name
  NEXT 

リンクオブジェクトも上記のように取得できます。

linksオブジェクトにはclickメソッドが行えるほか、
links[n].hrefでURLが取得できるので、IE.navigateに渡して、アクセスもできます。
サンプルのスクリプトを下記に書いてみます。

この投稿の続きを読む »

タグ

2012年7月20日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

このページの先頭へ