• 締切済み

UWSCでIE操作。IEを選択する方法について

UWSCでIEを開き、その後の操作も大体分かるのですが、 IEを開いたときに、IEが選択されるときと、選択されないときが あります。選択されるときは問題なく動作するのですが、 選択されない場合は、KBD(VK_ENTER,CLICK,###)などのタグが動作しなくなります。 ※以下、IEを動作するときに使用しているソースです。 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = true IE.navigate(URL) sleep(0.5) REPEAT sleep(0.5) UNTIL !IE.busy AND IE.readystate = 4 このときに、開いたIEを確実に選択し、動作させるような方法はありませんでしょうか?

みんなの回答

  • iriyak
  • ベストアンサー率48% (40/82)
回答No.1

こんにちは。 高レベル組み込み手続きの CTRLWIN(<window id>, ACTIVATE) で選択したいウインドウを前面に切り替え可能です。<windows id> の取得は GETID 組み込み関数で行います。タイトルの一部を指定して <windows id> を取得した後に CTRLWIN で前面に切り替わったことを確認し、KBD で指示すればよいでしょう。

kt1010
質問者

お礼

GETIDでしか方法はなさそうですね。ありがとうございました。 もう少しがんばってみます。いつも素早い回答、本当にありがとうございます。

関連するQ&A

  • UWSC(LIST選択できず)

    初心者です。 UWSCの自動化で上手くいかない所を、どなたか教えていただけないでしょうか? 内容はあるサイトにログオンした後、コンボBOXで選択する画面を自動化したいのですが上手くいきません。UWSCの記載は下記の通りです。 どなたかお分かりになる方よろしくお願いします。m(_ _)m ID = INPUT("貴方のIDは?") PW = INPUT("貴方のPWは?") IE = CREATEOLEOBJ("INTERNETEXPLORER.APPLICATION") IE.VISIBLE = TRUE IE.NAVIGATE("あるサイト") repeat sleep(0.1) until !ie.busy and ie.readystate=4 ie.document.forms[0].elements[2].value =ID ie.document.forms[0].elements[3].value =PW repeat sleep(0.1) until !ie.busy and ie.readystate=4 ie.document.forms[0].submit repeat sleep(0.5) until !ie.busy and ie.readystate=4 ret = IELINK(IE,"あるリンク") repeat sleep(0.5) until !ie.busy and ie.readystate=4 ie.document.forms[0].elements[0].VALUE ="あるコンボ選択肢" ↑ここだけ上手く動かないです。 ie.document.forms[0].elements[2].value ="01/02/2007" ie.document.forms[0].elements[3].value ="07/07/2007" repeat sleep(0.5) until !ie.busy and ie.readystate=4 ie.document.forms[0].elements[4].CLICK()

  • UWSCでIEの制御がうまくいきません

    どなたか教えてください。 UWSC用に、次のようなIE制御のテストスクリプト作ったのですが、最後のIELINKで製品ページに遷移しません。 どう直したらいいのでしょう? なお、ドコモさんのサイトはテスト的に選んだだけで、質問とは関係ありません。 IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("http://www.docomo-technavi.com/") Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) IELINK(IE,"定額データプランで、知らないうちに定額対象外データ通信に切り替わって、高額請求になることはありませんか?") ACW(GETID("Q&A | お客様サポート | NTTドコモ - Windows Internet Explorer","IEFrame")) Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) IELINK(IE,"製品") //←ここでページ遷移しない。

  • UWSCのIE操作でプルダウンを選択する方法

    UWSCのIE操作でプルダウンを選択する方法がわからなく、 記録機能を使い試してみたのですがうまくいきませんでした。 どなたか教えていただけないでしょうか。 よろしくお願いします。 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = true IE.navigate("http://sportsnavi.yahoo.co.jp/") waiting(IE) IELINK(IE,"Jリーグ") waiting(IE) IELINK(IE,"日程&結果",2) waiting(IE) //ここがうまく行かないところです。記録で出てきたものをそのまま使用 CLKITEM(IE, "第22節", CLK_ACC) //読み込み待ち Procedure waiting(IE) while IE.busy or IE.readyState<>4 Sleep(0.5) wend Fend

  • UWSCでEdgeを起動してCOM操作するには

    UWSCでEdge(Microsoft Edge)を起動して COMオブジェクトで操作したいのですが、 IE(Internet Explorer)を起動して操作する仕方は分かりますが、 Edgeを起動して操作する仕方がよく分かりません。 以下のコードは、 Googleの検索ボックスにテストという文字列を入力する IEでのコードですが、Edge用に書き換えるには、 どのように記述すればよいのか教えていただけないでしょうか。 ------------------------------------------------------------------ IE = CREATEOLEOBJ("InternetExplorer.Application") IE.VISIBLE = True IE.NAVIGATE("https://www.google.co.jp/") REPEAT SLEEP( 0.1 ) UNTIL ( ! IE.BUSY ) AND ( IE.READYSTATE = 4 ) IE.document.getElementsByClassName("gLFyf gsfi").item(0).value="テスト" //(省略) SLEEP(5) //確認用 IE.Quit ------------------------------------------------------------------ よろしくお願いします。(Windows10 2004)(IE 2004)(Edge 89.0.774.68)

  • 先ほど質問したほぉかべです

    カテ違い失礼しました。なにぶん始めてなもので・・・って言い訳にならないですよねorz では 再度質問します UWSCというマクロツールで ランダム質問をクリックしてから”役に立った” (下URL参照)をクリックするプログラムを作りたいのですが うまくいきません。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1263203487 私の作ったプログラムはランダム質問までいくのですがそこからがいきません。 何が悪いのでしょうか? とりあえず私の未完成プログラムを書きますね^^ 皆さんの回答をお待ちしております IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = true IE.navigate("detail.chiebukuro.yahoo.co.jp/qa/rand.php") REPEAT sleep(0.5) UNTIL !IE.busy AND IE.readystate = 4 ret = IELINK(IE,"役に立った!")

  • UWSCに詳しい方助けてください><

    いつもお世話になります。 昨日、UWSCというものを知って、パソコンの操作を自動化できることに感動しました。 プログラミングはほとんどしたことがないど素人なのです^^; 指定したURLから特定の語句のリンクを抽出したく、なんとか抽出することはできたのですが、 重複してしまうリンクがでてきてしまいました。 重複したリンクは取得せず、抽出していく方法がわからず困っております。 重複したリンクをその都度削除、もしくは、エクセルにデータを落として、エクセルの重複削除を自動でやる、といったことでもいいのですが、そのスクリプトをどうやって書いたらいいのか全くわかりません。。。 下記が特定の語句のリンクを取得するスクリプトです。 URL = INPUT("URLを入力してください", "「指定URL」") TOTAL_LINKS = "" IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate(URL) REPEAT SLEEP(0.1) UNTIL !IE.BUSY AND IE.READYSTATE = 4 LINK_AMOUNT = IE.Document.links.length FOR KAISU = 0 TO (LINK_AMOUNT - 1) IFB POS("特定の語句", IE.document.links[KAISU].href) > 0 TOTAL_LINKS = TOTAL_LINKS + IE.document.links[KAISU].href + "<#CR>" ENDIF NEXT EXEC("NOTEPAD") SENDSTR(GETID("無題 - メモ帳"), TOTAL_LINKS) お力をお貸しくださいm(_ _)m よろしくお願いいたします。

  • UWSCについて

    UWSCに関しての質問です。 エクスプローラを開き表示されるまで、停止させる には下記のように入力すれば上手く動きます。 Repeat Sleep(0.2) Until GETSTR(IE, 1, STR_STATUS) = "ページが表示されました" sckey(IE,VK_tab,VK_tab) ただ、エクセルのファイルを開く時もファイルが開くまで 上記と同様に停止したいのですがどうすればいいのでしょうか。 "ページが表示されました"とIDを書き換えるのかなと個人的に 思いましたが変わりに何を入力すればいいのか解りません。 よろしくお願いします。

  • 初めまして!質問です

    いつもは、yahoo知恵袋というサイトを利用しているほぉかべと申します。 早速ですが質問をしたいと思います。 本来ならば知恵袋のほうが人がいっぱいいるので知恵袋のほうで質問したいのですが・・・ 知恵袋ですると叩かれる質問なのでここでしてみました。 では質問です UWSCというマクロツールで ランダム質問をクリックしてから”役に立った” (下URL参照)をクリックするプログラムを作りたいのですが うまくいきません。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1263203487 私の作ったプログラムはランダム質問までいくのですがそこからがいきません。 何が悪いのでしょうか? とりあえず私の未完成プログラムを書きますね^^ 皆さんの回答をお待ちしております IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = true IE.navigate("detail.chiebukuro.yahoo.co.jp/qa/rand.php") REPEAT sleep(0.5) UNTIL !IE.busy AND IE.readystate = 4 ret = IELINK(IE,"役に立った!")

  • UWSC初心者(超)です。ご助力願します・・・

    UWSCを始めて5日目です。 スクリプトなんて右も左もわかりません。 http://top.hangame.co.jp/login/index.nhn?nexturl=http://mypage.hangame.co.jp/mynews/index.nhn 上記のサイトを起動し、自動的にID/PWを入力してログインするだけ という、単純な動作を作る為に4日間かけましたが、どうしても上手くいきません。 Repeat id = GETID("", "IEFrame", 0.01) CTRLWIN(id, CLOSE) Until id < 0 IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("http://top.hangame.co.jp/login/index.nhn?nexturl=http://mypage.hangame.co.jp/mynews/index.nhn") BusyWait(IE) CTRLWIN(GETID("ログイン - ハンゲーム"), MAX) めちゃくちゃかも知れませんが、 ここまでは自分でも書け正常に動作しましたが、 問題はフォーム入力で どうやったら文字を打ち込めるのか という点で 自分なりに組み込みましたが、やはり上手くいきません。書けませんしエラーが出ます。 初心者っぽく単純に BTN(LEFT, DOWN, 819,374) と書き込み、 CTRLWIN を使って ID名(平仮名)を入力しようとしましたが、 UWSC実行時にはエラーなどはないのですが、何故だか入力されません。 もう嫌になりました。 贅沢とは思いますが、どうやったら正常に書き込めるのか その構成と解説を宜しくお願いします。

  • UWSCの入力方法について

    UWSCに関しての質問です。 下記スクリプト内容 Fukidasi("URLやパスワード日付を入力しています。", 200, 200, 1, 16, "MS 明朝") IE=exec("C:\Program Files\Internet Explorer\IEXPLORE.EXE") //ここまで正常 sendstr(IE,"https://*********.html",1,1) sckey(IE,VK_alt,d) sckey(IE,VK_enter) // url Sleep(5)//ここに飛んでしまう KBD(VK_y,CLICK,01) 上記のように入力すると「//ここまで正常」まで動作するのですが、 その後、「//ここに飛んでしまう」にいってしまいます。 自宅のPC(WINXP)では問題なく作業するのですが、 会社のPC(WIN2000)では出来ません。 これは何が原因なんでしょうか。回答宜しくお願いします。

専門家に質問してみよう