指定URLへアクセス(navigate)
InternetExplorerのCOMオブジェクトを操作し、
指定URLへアクセスします。
IE.navigate(URL)
・URL・・・URLを指定
指定URLへアクセス
IEのCOMオブジェクトを生成したら、次に指定URLへアクセスしてみましょう。
IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate("http://canal22.org")
IEのCOMオブジェクトのnavigateメソッドに
URLを渡すと、アクセスを行います。
ここでは、当Website「http://canal22.org」に遷移するスクリプトとしています。
navigateには何を指定する?
通常、navigateには「http://」で始まるURLを指定します。
しかし、インターネットの情報だけではなく、
ローカルの情報にもアクセスできる事を確認しましょう。
スクリプトは以下になります。
タグ
2012年6月30日 | コメントは受け付けていません。 |
カテゴリー:UWSCとInternetExplorer
EXCELの起動(visible)
CREATEOLEOBJからExcelのCOMオブジェクトを作成し、
visibleプロパティを操作してExcel表示させます
EXCEL.visible = True / False
・True・・・オブジェクトを表示します
・False・・・オブジェクトを非表示にします
EXCELを起動する
さあ、まずはExcelのCOMオブジェクトを生成し、起動させてみましょう。
EXCEL = CREATEOLEOBJ("Excel.Application") EXCEL.visible = True EXCEL.Workbooks.add()
上記のスクリプトを実行してみましょう。
するとExcelが画面に表示されます。
冒頭の「EXCEL = CREATEOLEOBJ(“Excel.Application”)」で、
ExcelのCOMオブジェクト(インスタンス)を作成し、EXCELという変数に格納しています。
続いて、そのExcelオブジェクトのvisibleプロパティの値をTrueに設定しています。
visibleとは「可視性」の意味で、オブジェクトの表示/非表示を司ります。
ただし、InternetExplorerとは少し異なり、Workbooks.add()という一文を加えることで、
通常Excelを起動した場合と同じ状況になります。
visibleプロパティの順番を変えてみよう
例えばVisible=Trueを先ではなく、Workbooks.add()の後に行った場合はどうなるでしょうか。
結果は変わらないことが想像できますが、
試しにやってみましょう。
スクリプトは以下になります。
タグ
2012年6月29日 | コメントは受け付けていません。 |
カテゴリー:UWSCとExcel
アイテムをクリックする
戻値 = CLKITEM(ウィンドウのID, アイテム名, [種別, On/Off, 番号] )
ウィンドウのID:Windowを識別するID
(例:GETID関数で取得できる値)
アイテム名:ボタン、チェックボックス、ラジオボタンのキャプションの文字、
リストボックス、コンボボックスの選択名、タブ名、
メニュー項目名、ツリービュー項目、リストビュー項目、
ツールバー上のボタン名
(のいずれか)
(例:CLK_LIST or CLK_SHORT)
(CLK_MOUSEMOVE でも可)
CLK_ACC 指定時にアイテムを後ろからサーチ
CLK_ACC 指定時に前回の実行地点からサーチ
True=On(デフォルト)、False=Off
番号: 同名のアイテム名がある場合の
オブジェクト順番
(左上から数えたオブジェクト順番[1から指定])
戻値
TRUE:正常
FALSE:処理不能
補足
アイテム名の最後に付く ニーモニック(&A)、(&B)は不要
種別:省略時は下記順でサーチ
BTN->LIST->TAB->MENU->TREEVEW->LSTVEW->TOOLBAR
メニュー、ツリービュー: \ にてパス指定表記可
リストボックス: 複数選択の場合はタブでアイテム名を繋げる
CLKITEMは、指定したウィンドウのボタンやアイテムをクリックします。
パラメーターと種別が多いので難しく見えますが、
以下のサンプルでシンプルな動きを参考にして下さい。
電卓を操作する
電卓を起動し、
各ボタンを押下します。
最後のCLKITEMではCLK_BTNを置いていますが、
無くても動きます。3つ目の引数は任意の項目です。
GID = EXEC("calc") CLKITEM(GID,"1") CLKITEM(GID,"0") CLKITEM(GID,"2") CLKITEM(GID,"+") CLKITEM(GID,"2") CLKITEM(GID,"0") CLKITEM(GID,"1") CLKITEM(GID,"=") MSGBOX("答えは303です。リセットします。") //CLK_BTNはオマケ。無くてもボタンは押下されます CLKITEM(GID,"C",CLK_BTN)
タグ
2012年6月28日 | コメントは受け付けていません。 |
カテゴリー:逆引き関数
IEの起動(visible)
CREATEOLEOBJからInternetExplorerのCOMオブジェクトを作成し、
visibleプロパティを操作してIEを表示させます
IE.visible = True / False
・True・・・オブジェクトを表示します
・False・・・オブジェクトを非表示にします
IEを起動する
さあ、まずはInternetExplorerのCOMオブジェクトを生成し、起動させてみましょう。
IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True
上記のスクリプトを実行してみましょう。
するとInternetExplorerが画面に表示されます。
冒頭の「IE = CREATEOLEOBJ(“InternetExplorer.Application”)」で、
InternetExplorerのCOMオブジェクト(インスタンス)を作成し、IEという変数に格納しています。
続いて、そのIEオブジェクトのvisibleプロパティの値をTrueに設定しています。
visibleとは「可視性」の意味で、オブジェクトの表示/非表示を司ります。
visibleプロパティをFalseにすると?
visibleプロパティで少し遊んでみましょう。
例えばTrueではなく、Falseをセットするとどうなるでしょうか。
何となく、「非表示」になることが想像できます。
しかし、そうなるとCOMオブジェクトは消えてしまうのでしょうか、それともどこかに隠れているだけなのでしょうか。
スクリプトで確認してみましょう。まず、非表示にしてみるスクリプトは以下になります。
タグ
2012年6月28日 | コメントは受け付けていません。 |
カテゴリー:UWSCとInternetExplorer
特殊変数
特殊変数
・G_MOUSE_X・・・マウス位置Xを返す
・G_MOUSE_Y・・・マウス位置Yを返す
・GET_WIN_DIR・・・Windowsディレクトリ
・GET_SYS_DIR・・・System ディレクトリ
・GET_CUR_DIR・・・カレントディレクトリ
・GET_APPDATA_DIR・・・Application Data のディレクトリ
・GET_UWSC_DIR・・・UWSCのディレクトリ
・GET_UWSC_VER・・・UWSCのバージョン
・GET_UWSC_PRO・・・Pro版であればTrue、Free版はFalse
・GET_UWSC_NAME・・・実行中のスクリプト名
・G_SCREEN_W・・・画面幅
・G_SCREEN_H・・・画面高
・G_SCREEN_C・・・色数(1ピクセルのビット数)
実行する
PRINT "G_MOUSE_X=" + G_MOUSE_X PRINT "G_MOUSE_Y=" + G_MOUSE_Y PRINT "GET_WIN_DIR=" + GET_WIN_DIR PRINT "GET_SYS_DIR=" + GET_SYS_DIR PRINT "GET_CUR_DIR=" + GET_CUR_DIR PRINT "GET_APPDATA_DIR=" + GET_APPDATA_DIR PRINT "GET_UWSC_DIR=" + GET_UWSC_DIR PRINT "GET_UWSC_VER=" + GET_UWSC_VER PRINT "GET_UWSC_PRO=" + GET_UWSC_PRO PRINT "GET_UWSC_NAME=" + GET_UWSC_NAME PRINT "G_SCREEN_W=" + G_SCREEN_W PRINT "G_SCREEN_H=" + G_SCREEN_H PRINT "G_SCREEN_C=" + G_SCREEN_C
タグ
2012年6月26日 | コメントは受け付けていません。 |
カテゴリー:関数一覧
ストップウォッチを作りたい
ループ文で1秒経過するごとにFUKIDASIで時間を表示するところまではできました。
ただ、FUKIDASI中に別の処理をするのはどうすればよいのかわかりません。
FUKIDASIによる時間制御まで来ているのは、
とってもよいアプローチです。
時間の表示までは出来ているので、スタートとストップボタンも併せて出すようにしましょう。
と言ってもFUKIDASI関数にはそのような機能はないので、
SLCTBOX関数の出番です。
まずはただの時間表示スクリプト
ご質問にあるようなループ文とFUKIDASIによる時間表示スクリプトは以下の通りです。
TIME = 0 WHILE TRUE TIME = TIME + 1 SLEEP(1) FUKIDASI(TIME + "秒経過",0,0,0,20) //一応10秒経ったら終了 IF TIME > 10 THEN EXIT WEND
スクリプト
では、ストップウォッチを作りましょう。
ループ文の中にSLCTBOXを記述します。
これだと、スクリプトが選択肢が出てきた所で、
進まないんじゃないのかという懸念がありますよね。
でも大丈夫、タイムアウト秒の設定というものがあり、
指定時間を経過すると次のステップに進むことができます。
スクリプトは以下のようになります。
//開始時間 START = GETTIME() //スタート、ストップの状態を判別 CNTFLG = 1 WHILE TRUE //開始時間 - 現在時間で経過時間取得 NOW = GETTIME() - START //ストップウォッチ、CNTFLG=0の場合はタイムアウト無し=ストップ状態 SELECT SLCTBOX(SLCT_BTN,CNTFLG,NOW + "秒","スタート","ストップ") //スタート CASE SLCT_1 //再スタートはリセット START = GETTIME() CNTFLG = 1 //ストップ CASE SLCT_2 CNTFLG = 0 SELEND WEND
どうでしょう。期待通りの動きをしていますか。
まずはスクリプト起動時に時間カウントがスタートし、秒数が表示されます。
ストップを押せば、カウントは止まります。
そして再び、スタートをクリックすれば、時間がリセットされてカウントがリスタートします。
しかし、上記のスクリプトでも
少し不親切な気がします。
時間計測中(スタート中)にスタートを押した場合はどうなるでしょうか。
強制的に終了したい場合はどうでしょうか。
少しスクリプトを親切にしてみましょう。
以下のようになります。
タグ
2012年6月24日 | コメントは受け付けていません。 |
カテゴリー:Q&A
ARCTAN
ARCCOS関数
ARCTAN(引数)
実行する
PRINT ARCTAN(1)
タグ
2012年6月18日 | コメントは受け付けていません。 |
カテゴリー:関数一覧
ドラッグ&ドロップに対応させるには
タグ
2012年6月17日 | コメント/トラックバック(5) |
カテゴリー:掲示板
ARCCOS
ARCCOS関数
ARCSIN(引数)
実行する
PRINT ARCCOS(1)
タグ
2012年6月17日 | コメントは受け付けていません。 |
カテゴリー:関数一覧
ARCSIN
ARCSIN関数
ARCSIN(引数)
実行する
PRINT ARCSIN(1)
タグ
2012年6月16日 | コメントは受け付けていません。 |
カテゴリー:関数一覧