UWSC

 

>> 「雑談辞典」トップに戻る

このページは、UWSCの自分用メモです。

私は、UWSC初心者ですし、実際、以下のスクリプトには、動かずそのままになっていたりするものもあるので、間違いが多く含まれています。

UWSCで自動化 超速!! Windows マクロテクニック 掲載スクリプト一覧 - IZAGNE

 

文字を入力する

/// 変数を宣言する

text = ""

 

/// プログラム (IEなど) を起動する

EXEC("NOTEPAD")

 

/// プログラム (IEなど) をアクティブにする (実際に記録する)

例) ACW(GETID("無題 - メモ帳","Notepad"), 164, 149, 490, 299, 0)

 

/// あらかじめ決まった文字を入力する1

 /// まずファイルを開いて、そのIDを取得する

DIR = "C:\progre.html" /// または、progre.txtなど
FID = FOPEN(DIR, F_READ)


 /// それをFileTextに入れて、IDに貼り付ける1 (貼り付け先がメモ帳など、GETIDでIDが取れる場合)

FileText = fget(FID, F_ALLTEXT) /// 全てのテキストの場合
FileText = fget(FID, 1) /// X行目のテキストの場合

SENDSTR(GETID("abcのお申込みを受付けました"), FileText)
fclose(FID)

 

 /// それをクリップボードに入れて、Ctrl+Vで貼り付ける2 (貼り付け先のIDがGETIDで取れない場合)

SENDSTR(0, fget(FID, F_ALLTEXT)) /// 全てのテキストの場合
SENDSTR(0, fget(FID, 1)) /// X行目のテキストの場合

BTN(LEFT, DOWN, 565, 172, 0) // 貼り付けたい場所をクリックする

Paste()

PROCEDURE Paste()
KBD(VK_CTRL, DOWN, 40)
KBD(VK_V, CLICK, 40)
KBD(VK_CTRL, UP, 40)
FEND

 

/// あらかじめ決まった文字を入力する2 (実際に記録する)

KBD(VK_A, CLICK, 40) /// 待ち時間は、40ms。
KBD(VK_SPACE, CLICK, 40)
KBD(VK_LEFT,CLICK,100)
KBD(VK_OEM_PERIOD, CLICK, 40)
KBD(VK_TAB, CLICK, 40)
KBD(VK_RETURN, CLICK, 40)
text + "<#CR>" /// 文字の連結は "+"、改行は "<#CR>"、ダブルクオーテーションは、<#DBL>

 

/// text変数に入った文字を入力する1 (貼り付け先がメモ帳など、GETIDでIDが取れる場合)

SENDSTR(GETID("無題 - メモ帳"), text)

 

/// text変数に入った文字を入力する2 (貼り付け先のIDがGETIDで取れない場合)

/// クリップボードに一度送って、Ctrl+Vで貼り付ける

SENDSTR(0, text)

Paste()

PROCEDURE Paste()
KBD(VK_CTRL, DOWN, 40)
KBD(VK_V, CLICK, 40)
KBD(VK_CTRL, UP, 40)
FEND

 

(その他参考) ひらがなや漢字を入力したい

 

/// 文字を入力させるポップアップを出す

Name = INPUT("あなたの名前を入れてください","かずお")
IFB Name = "かずお"
EXITEXIT

PASSWD = INPUT("パスワードを入れてください","デフォルトのテキスト",1) // 最後の",1"をつけると"*****"という表示になる。(主にパスワードで使用)
IFB PASSWD <> "1234"
EXITEXIT

 

/// クリックする (実際に記録する)

例) BTN(LEFT, DOWN, 565, 172, 0)

 

Internet Explorer

/// IEを立ち上げる

URL = "http://kazuo.fc2web.com"

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate(URL)

/// IEのページが表示されるまで待つ1

WaitIE()

PROCEDURE WaitIE()
 REPEAT
 SLEEP(0.1)
 UNTIL !IE.busy AND IE.READYSTATE = 4
FEND

/// IEのページが表示されるまで待つ2 (直前にIDを取っていない場合、IEのIDをGetしてVisibleにしてから待つ)

WaitIE()

PROCEDURE WaitIE()
 IE = GetActiveOLEObj("InternetExplorer.Application")
 IE.Visible = True

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

/// IEのフォームに入力する

IE.document.forms[0].elements[2].value = "アカウント名"
IE.document.forms[0].elements[3].value = "パスワード"
IE.document.forms[0].elements[5].click()

 

Excel

/// ExcelをActiveにする

EXCEL = GetActiveOLEObj("EXCEL.Application")
EXCEL.visible = True
EXCEL.RANGE("B3:Q3").select

 

/// Windowを最大化する (座標を固定し、クリック場所を限定するため。新しいツールバーをインストールすると、座標位置がずれるので注意)

ID = GETID("メニュー画面 - Microsoft Internet Explorer","IEFrame")
CTRLWIN(ID, MAX)

 

その他

/// IEでエレメントの数を振ってみてチェックする

for i = 0 to 9
IE.document.forms[0].elements[i].value = i
next

for i = 0 to 9
IF i MOD 2 = 0 THEN IE.document.forms[0].elements[i].checked = true
next

for i = 0 to 9
IE.document.forms[0].elements[i].click()
msgbox("elements[" + i + "]をクリックしました")
next

 

/// ボタンのalt属性が「ボタン名」のボタンをクリックする

image_alt = "ボタン名"
while true
 //---0〜imageの数まで調べる
 for i = 0 to IE.document.images.length - 1
  //---ボタン名と一致するi個目のimageを調べる
  ifb IE.document.images.item(i).alt = image_alt then
   //---一致したi個目のimageをクリック
   IE.document.images.item(i).click()
   msgbox("スクリプトは、IE.document.images.item(" + i + ").click()です")
   //---クリックしたらループを抜ける
   break 2
  endif
 next
wend

→ これでボタン名に対応する数値 i が例えば4と分かったら、単に、IE.document.images.item(4).click()でいい。

 

/// 途中で変数のメッセージボックスを出してチェックする

MSGBOX(text)

 

/// ファイルに書き込む

DIR = "C:\test.txt"
FID = FOPEN(DIR, F_WRITE)
FPUT(FID, "書き込むテキスト")
FPUT(FID, "書き込むテキスト1行目", 1, 1)
FPUT(FID, "書き込むテキスト2行目", 2, 1)
FPUT(FID, "書き込むテキスト3行目", 3, 1)
FCLOSE(FID)

 

/// (ループなどを) ファイル・変数に追加していき、後でまとめて処理する

 

 

雑談辞典トップへ

Copyright(C) 2011 Kazuo. All Rights Reserved.

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送