個人的に必要だったUWSCのコマンドや解決策

uwscヘルプファイル PC関係

UWSCを少し使ってみた。便利。詰まった所など、忘れないように忘備録的なテキスト郡。

 

詰まったとき、わからないとき

 

ウェブで検索する前に、とりあえずヘルプを読む。関数名などを検索。フォルダ内のuwsc.chm

uwscヘルプファイル

 

何故かIESETDATAが使えないときの代用方法

 

SENDSTR( ID, 入力したい文字列 , 左上から数えた入力したいエディトコントロールの順番)

 

(IESETDATAが使えないときの)送信方法

SCKEY( ID, VK_ENTER)

→エンターキーで入力。

 

IELINK( IE, "リンク表示文字" ,true)

→ボタンをクリック。ボタンに”送信する”と書いてあったら、第2引数に”送信する”と入力。

 

IESETDATAでボタンをクリックする方法

 

→ボタンがinput要素、name属性のもの

IESETDATA(IE,1,"name属性の名前")

 

指定したWEBページのBODYの取得

body = IEGETSRC(IE, "BODY")
※bodyは変数

特定のタグ以下の文章(classタグ等)を取得

body = Copy(body, Pos("<div class",body), 取得する文字数)

取得したい要素を狭い範囲で取得

変数=BetweenStr(body,"取得したい文字列の開始地点","終点",(複数ある場合は)繰り返し処理のカウント変数)

取得した文字列に邪魔な文字が入ってしまう場合

変数 = REPLACE(変数,"消去したい文字列", "")

文字列の結合

文字列の結合は+(プラス)
“文字列”+”文字列”

ウィンドウを指定する。(操作したいウィンドウのIDを取得)

変数= GETID("指定したいウィンドウのタイトル。", 待ち時間秒)
※タイトルは一部分でも可能。このブログを指定するなら”サイヤ人乙”や”サイヤ”など。
※待ち時間は-1にすると、無限に待つ

(webサイトなどを)検索して(指定の文字列が)あるかどうかを判別

// 文字列に指定文字列があるか探す
戻値 = POS( 探す文字, 探される文字列, [n個目] )
※戻値は[探す文字]が[見つからなければゼロ]なことを利用する。

アプリケーション(メモ帳)の起動

EXEC("起動したいアプリのパス 起動したいファイルのパス")
例)
EXEC("C:\Windows\notepad.exe C:\Users\saiyazin\Desktop\test.txt")

IE.QUITが何故か動作しない。”RPCサーバーを利用できません”エラーが出てしまうときの対処法

 

原因はよくわからない。繰り返し処理をする前に

 

CREATEOLEOBJ("InternetExplorer.Application")

 

繰り返し処理中には

 

GETACTIVEOLEOBJ("InternetExplorer.Application","webページのタイトル")

 

を使うことで今回はエラー回避。

 

新しいタブを開いて操作

 

なんか調べたら難しそうだったので、単純な方法で実現。

 

まず特定のwebサイトを開く
→IDを取得して、ショートカットキーで新しいタブを開く(CTRL,Tキー)
→GETACTIVEOLEOBJで新しいタブを指定
→新しいタブで他のwebサイトを開く
→IDを取得

 

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("https://amanojaku-late20-hobbyfashion.com/")
IE.visible = True
sleep(1)
ID1 = GETID("https://amanojaku-late20-hobbyfashion.com/", -1)

SCKEY( id1,VK_CTRL,T) 
sleep(3) 

IE = GETACTIVEOLEOBJ("InternetExplorer.Application","新しいタブ") 
IE.Navigate("https://amanojaku-late20-hobbyfashion.com/uwsc-command-solution/") 
IE.visible = True 
sleep(1) 
ID2=("https://amanojaku-late20-hobbyfashion.com/uwsc-command-solution/", -1)

 

ファンクションキー(F4)を使用

 

SCKEY( ID, キー)

 

”キー”の部分にF4ではなく、VK_F4

 

ダブルクオーテーション(”)を文字列として扱う方法

 

"<#DBL>"

 

”記録”機能について

 

低レベル記録…単純にキーボードとマウスの情報を座標と共に記録

高レベル記録…座標は記録されない。高レベル関数を使用

 

.readyStateや.busyが使用できない

 

おそらく有償版とフリー版では使用できる機能に制限がある?(検証不十分)

エクセル操作はPro(有料)版でないとできないようだ。

現時点だと有料版は買えない?

タイトルとURLをコピーしました