TOP「CreateOLEObj」タグの記事一覧UWSCスクリプトのセキュリティ対策UWSCスクリプトに色々情報が書かれているので、セキュリティに懸念があります。実行できたりするので、何か対策はありますか。指定のフォルダからのみ実行できるようにすることは可能ですか。他の人でも実行できてしまうケースがあります。いくつか対策を考えてみましたので下に記して見ます。中身の解読を困難にしてしまう方法があります。パスワードを埋め込んでいたりする場合は、ファイルの中から該当情報を取得することが難しくなります。スクランブルのかけ方については、コチラの記事の「スクランブル」をご参照ください。実行時にパスワードを要求するようにすることができます。次の処理が実行されずに終了してしまいます。実行時パスワードの取得も困難になります。指定のディレクトリからのみ実行可とするDOSCMD関数で、スクリプトの実行位置ディレクトリを知ることができます。これが指定のディレクトリと異なる場合は実行しないよう制御することができます。"処理を実行しました!"上記のスクリプトでは、Cドライブ直下にuwscというフォルダを作成し、そこにあるスクリプトのみ実行できる仕組みになっています。実行可能となる点は注意です。単体での実行は出来なくなります。一つ上の階層にrequired.uwsをおく必要があります。required.uws自体は中身は空でも問題ありません。外部Webサイトの情報を利用する指定のページにアクセスし、ページ内の情報が一致する場合に次の処理に進むようにしてみます。Webページの情報を書き換えてスクリプトの実行可否を制御することができます。MSGBOX("認証できません。EXITEXITENDIF上のスクリプトはcanal22.orgへアクセスし、そのページのタイトルを照合しています。バックグラウンドでチェックが進めば良いので、visibleのプロパティはFALSEにしています。全てを組み合わせたスクリプトを作ってみます。外部サイトの確認となります。解読を困難にすることも可能です。スクリプトは下記のとおりです。コメントは受け付けていません。|カテゴリー:Q&ACOMオブジェクト操作関連COMオブジェクト操作関連関数COMについては上級者編で解説されております。関数を使用した具体的なCOMオブジェクトの活用例は上級者編をご参照下さい。コメントは受け付けていません。コメントは受け付けていません。開いているウィンドウを制御する場合に使います。Sleep(0.5)Fend解説このプログラムを動かすと、GETACTIVEOLEOBJが働いていることが確認できます。コメントは受け付けていません。最初にCreateOLEObjでCOMオブジェクトを作成します。COMオブジェクト(COMコンポーネント)はMicrosoftが提唱するオブジェクトの規格です。プログラマーになるわけではなければ、この辺はつっこまなくても良いかと思います。呪文のように上記スクリプトを覚えれば、UWSCでIEの操作はできます。実際は、IEをYOUFとしても同様に動作します。INPUTBusyWait(YOUF)とはいえ、多くの方がIEとしているので、IEにしておくのが無難です。あとは、オブジェクトに対してNavigateなどメソッドやプロパティを適用しています。visibleは可視化でNavigateは移動です。上級者ページではCOMに関するさらに詳細な説明があります。COMコンポーネントの解説は以下のページがわかりやすいです。コメントは受け付けていません。Explorer(以下、IE)を起動する方法はいくつかありますが、その中でも一番早く、確実なのがCOMオブジェクトを操作することです。COMオブジェクトは使い方が少し難しいので初めての方にはとっつきにくい所でもあります。簡単な手順を通して見ていきましょう。今回はIEを立ち上げて、あるWebサイトにアクセス、その後、ページ内にあるHTMLテキストを全部取ってきて、メモ帳に貼り付ける。いうスクリプトを作ってみます。IEを立ち上げるところをコーディングします。Trueこれで、IEが立ち上がり何もないページがウィンドウに表示されるはずです。最初のうちは分からないでもOKです。True)と命令していると思えば大丈夫です。次にあるページ(今回はGoogle)にアクセスさせましょう。4REPEAT-UNTILによる繰り返し制御が行われております。何を繰り返しているかと言うとSLEEP(0.1)つまりある条件になるまではずっと「0.1秒待つ」という行為を繰り返すのです。あるWebページにアクセスすると必ずアクセスして情報取得するまでに数秒程の待ち時間が発生します。必要な情報が読み込まれていないのでエラーになってしまいます。IE.busyでIEが他の処理を実行しているか、していないか、状態を返してくれます。いわゆる、ビジー状態かそうでないかを判別してくれるのです。IE.busyはビジー状態ならばTrue、そうでないならばFalseを返します。ビジー状態でなければ次の処理に行っても問題ないので、頭に「!」をつけて「ビジー状態でなければ」という条件を表現します。頭につく「!」は「否定」を表します。ビジー状態でない⇒Falseが返ってくる⇒頭に「!」⇒FalseがTrueに変換される結果、REPEAT-UNTILの条件判定箇所でTrueが返って来るのです。4という条件も見ています。readystateとは「今、どういう状態か」を数字で返してくれます。4は完了を意味します。0~3も意味がありますが参考程度ですので、下に記します。(読み込み中で操作も可能)読み込みが完了すれば、アクセスしたページのデータは操作できますので、そのままメモ帳に貼り付けましょう。4SENDSTR(EXEC("notepad"),IE.document.body.innerTEXT)最後にメモ帳を起動し、IE.document.body.innerTEXTで、Webページ中の全テキストを取得して、送信しています。各ページのテキストをそれぞれメモ帳に貼り付けるスクリプトを作ってみましょう。スクリプトはこのようになります。コメントは受け付けていません。RPA動作検証についてメール送信3メール送信3メール送信2UWSCのススメUWSCは、こんな人に向いています。LISTランダムな文字列をメモ帳に書き出したい任意の文字列をメモ帳に書き出したいペーストする文章を管理したい繰り返し処理を行いたいけど制御文が難しいアプリケーションのメニューやボタンを操作する方法が知りたいですUWSCのエラーがでてスクリプトが実行できません。Explorerを操作したいWebページにあるリンクの数を調べたい動作を記憶させたいけど、待ち時間などもスクリプトに含まれてしまう部分的にダブルクォーテーションで括られたCSVファイルを整形したいまとめて特定の組合わせの文字列をつくりたい。VLOOKUPのような機能をUWSCでも欲しい。参照ファイルのアップロードをしたいSELECT文のカンマによる複数表記可の意味は?相互リンク相互リンクFINAL人気の相互リンクシステムです。お問い合わせはこちらから我々へのお問い合わせ、メッセージはこちらから。コバヤシ式」内の「CreateOLEObj」タグの記事一覧です。Q&A掲示板スクリプトUWSCダウンロードリンク集サイトマップ問合せ。