忙しい現代人の腰&肩のお悩み対策!

エクセルでWeb情報を更新しながらある値を取得し、エクセルのあるセルの値がある範囲内にある時に、UWSCによって、ある特定のボタンをクリックする、という操作は可能でしょうか。

これは、つねにUWSCでエクセルの値を見続けるのと、UWSCからエクセルの特定のセルを監視させる方法について、詳しい方のご教授を願いたいです。

お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

可能か不可能かと言うと詳しい人にとっては可能。



> エクセルでWeb情報を更新しながらある値を取得し
エクセルのマクロでHTTPリクエストPOSTするということでよいですか?
ある値を取得するのもエクセルでですか?
ここまでエクセルでやるんだったらUWSC使わずにマクロだけでやりきった方がすっきりすると思います。

それはさておき、UWSCを以下の用途でつかうとすると:
> つねにUWSCでエクセルの値を見続けるのと、UWSCからエクセルの特定のセルを監視させる方法
エクセルのセルの値をクリップボードに入れて、UWSCのGETSTR関数を使うことでセルの値をポーリングで監視できます。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q(UWSC)エクセルのセルの値を読み込むには?

UWSCで、エクセルのセルの値を読みこむ方法について
悩んでおります。

Excel = GETACTIVEOLEOBJ("Excel.Application");
val1 = Excel.ActiveSheet.range("A1").value;
を使えば、開いているエクセルのA1セルにある値を
「val1」に読み込むことができました。

今、A1~A100にある100個のリストを順々に読み込むことを
考えています。おそらくfor文を使って、以下のようにするのかな?
と思っております。
for i=1 to 100
val=○○
next
A1~A100の値を順々に読み込むにはどのようにすればいいのでしょうか?

Aベストアンサー

Pro版だったらループなんてしなくても、XLGETDATA関数を使えば一発で配列変数に取り込めます。(UWSCのヘルプにサンプルコードがあります)

Pro版ではない通常UWSCだと、以下の処理で一個ずつ値を引っ張ってくるしかないでしょう。

1)F2キーを押す
2)Shift+Homeを押す
3)Ctrl+Cを押す
4)クリップボードから値を変数に読み込む(GETSTR関数を使用)
5)Enterを押す

という一連の処理を100回繰り返すわけです。

QエクセルVBAでUWSCを使う

VBAのShell関数を使ってUWSCを起動してみました。
UWSCのオプション設定を”管理者としてこのプログラムを実行する”にチェック
すると、以下のプログラムでは動かなくなりました。

実行時エラー’5’
プロシージャの呼び出し、または引数が不正です。
となりました。

管理者として実行するUWSCをVBAで動かす方法はありますか?

pr_name = "C:\UWSC\UWSC.exe"
path_name = "C:\UWSC\"
file_name = "Buy.UWS"
Shell (pr_name & " " & path_name & file_name)

Aベストアンサー

UWSCを管理者設定にしたら、本体のExcel側も管理者モードで立ち上げなければ、UWSCは動かないはずです。

Excelは管理者モードではありませんから、UWSCも管理者モードをやめないと、自由に使えません。

http://www.uwsc.info/faq.html 
FAQにもそう書かれています。
「アプリの操作ができない、記録ができない(Vista/7/8.x/10)  #N29
  実行レベル(UAC)を合わせてください。
  アプリが管理者権限で実行されている場合には、UWSCも管理者権限が必要です
  UWSCを起動する時に、右クリック "管理者として実行..."より起動する
  もしくはプロパティの"互換性"タブより"特権レベル"にチェックを入れてください
  
  逆にアプリが一般ユーザの場合には、UWSCも管理者権限ではなく一般ユーザにしてみてください」

QEXCELのVBAでUWSCを・・・

EXCELのセルにある値が入ったら、VBAでUWSCを立ち上げてUWSCのマウス操作を開始したいんです。

VBAにはどういう記述をすればいいのでしょうか?

Aベストアンサー

Changeイベントで入力値に応じて処理を分け、Shell関数を使ってUWSCの実行ファイルを呼び出してみてはいかがでしょう。
UWSCは使ったことがありませんが、UWSC呼び出し後のEXCEL VBA の振る舞いはUWSCの仕様によります。

変更されたセルの値が1ならUWSCを呼び出す例

Private Sub Worksheet_Change(ByVal Target As Range)
If Range(Target.Address).Value = 1 Then
  Shell("UWSC実行ファイルまでのパス", 1)
End If
End Sub

QUWSCからエクセルのマクロを実行

最近UWSCというソフトを使うようになりました。
で、エクセルからSHELLをつかってUWSCを立ち上げ実行し、UWSCの最後に再度エクセルの指定したマクロを実行したいと思っています。

エクセルファイル名= AAA.xls
Excel = GETACTIVEOLEOBJ("Excel.Application" ,エクセルファイル名)
----
中略
----
Excel.Visible = True
ACW(GETID("MICROSOFT EXCEL - " + エクセルファイル名 ,"XLMAIN"),-4,-4,1288,1002,0)
CTRLWIN(GETID("MICROSOFT EXCEL"), MAX)
msgbox("完了しました。")
Excel.Application.Run エクセルファイル名 & "!Macro1"

といったようなスクリプトを組んだのですが、なにもないままUWSCが終了してしまいます。
UWSCから指定のエクセルマクロを実行する方法を教えてください。

Aベストアンサー

マクロA実行→UWSC起動→(UWSC終了)→マクロB実行
という流れですよね。
SHELLで起動した場合、起動した直後、マクロAは終了します。
これは、SHELL関数がそのままでは非同期実行だからです。
SHELL関数をマクロと同期させ、UWSC終了まで、待機させては
いかがですか?
参照URLでその方法が書かれています。

参考URL:http://www.moug.net/tech/exvba/0150034.htm

Q(UWSC) エクセルのセルをコピーするには?

UWSCで、エクセルにあるセルの中身をコピーしたいと
考えています。

getstrを使って、
a = GETSTR(GETID("Microsoft Excel","XLMAIN"),p)
 (pは適当な数字)
としましたがうまくいかないみたいです。

例えば、i行j列のセルにある文字をコピーするには、
どのようにすればいいのでしょうか?

KBD(VK_CTRL,DOWN,32)
KBD(VK_C,CLICK,31)
KBD(VK_CTRL,UP,40)
でもかまいません。

Aベストアンサー

こんにちは。

UWSC Pro ならば『i行j列のセルの値』を得るための組み込み関数を利用可能です。uwsc.chm のスクリプト≫スクリプト関数≫Excel操作関連(Pro版) にリファレンスがありますのでご参考までにどうぞ。

(関連組み込み関数)

XLOPEN
XLCLOSE
XLACTIVATE
XLSHEET
XLGETDATA
XLSETDATA

(スクリプト例 - c:\a.xls の r1c2 セル値を表示します)

dim e = XLOPEN("C:\a.xls");

try
  XLACTIVATE(e, "Sheet1")
  dim r = 1;
  dim c = 2;
  dim v = XLGETDATA(e, r, c); // r1c2 セル値を v に代入する
  MSGBOX(v);
finally
  XLCLOSE(e);
endtry

QUWSCを使用して、ドロップダウンリストを操作

お世話になります。

UWSCにてマクロを作成していますが、ドロップダウンリストを選択して操作する事ができずに、
止まってしまっています。

現在は、画像認識で選択し、マクロ上のKBの操作で選択する形を取ってますが、毎回マウスポインターが移動してしまい、マクロを動かしていると他の事ができません。

UWSCのマクロで、指定したリスト上の値を選択する事可能でしょうか

例)マクロ上で自動でリストから「いいい」を選択して、決定ボタン押下するなど。

===
対象ページの記述は下記の様な形です
2つリストがあり、それぞれに決定ボタンがあります。

<td class="b2"align="center">

<select name=mode>
<option value="aaa">あああ
<option value="bbb">いいい
<option value="ccc">ううう
<option value="ddd">えええ
<option value="eee">おおお
</select>
</td>
<td class="b2"align="center"><input type="submit"style="background-color:#9370DB;color:#FFFFFF;border:2 solid BFEFFF" value="決定"></td>

<select name=mode>
<option value="aaa">かかか
<option value="bbb">ききき
<option value="ccc">くく
<option value="ddd">けけ
<option value="eee">こここ
</select>
</td>
<td class="b2"align="center"><input type="submit"style="background-color:#9370DB;color:#FFFFFF;border:2 solid BFEFFF" value="決定"></td>

お世話になります。

UWSCにてマクロを作成していますが、ドロップダウンリストを選択して操作する事ができずに、
止まってしまっています。

現在は、画像認識で選択し、マクロ上のKBの操作で選択する形を取ってますが、毎回マウスポインターが移動してしまい、マクロを動かしていると他の事ができません。

UWSCのマクロで、指定したリスト上の値を選択する事可能でしょうか

例)マクロ上で自動でリストから「いいい」を選択して、決定ボタン押下するなど。

===
対象ページの記述は下記の様な形です
2つリス...続きを読む

Aベストアンサー

IESetDataを使うと良いかもしれません。

IESetData(IE,"bbb","mode")
IESETDATA(IE, True, "決定")

とかすれば、いけるかも。

http://e-dcz.com/~uwsc/iesetdata.htm
http://www.uwsc.info/sample.html#n33

有料版使えばIE用記録ツールがあるので便利。
http://www.uwsc.info/download.html

QUWSCの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

Aベストアンサー

 CLKITEM(IE, "第22節", CLK_ACC)

 IE.document.getElementsByName("select").item[2].value="index_2nd.html#j22"
 IE.document.getElementsByName("select").item[2].fireEvent("OnChange")
に変更すればいけると思います。

しかし、そもそも
 IE.navigate("http://sportsnavi.yahoo.co.jp/")

 IE.navigate("http://sportsnavi.yahoo.co.jp/soccer/jleague/2012/data/result/index_2nd.html#j22")
に変更すれば目的は達成されるような気がするのですが……
(来年度はたぶん2012が2013になるだけです。)

あと、IEの操作を記録したいのであれば、Pro版を購入してRecIEを使用したほうがいいと思います。

QUWSCの待機コマンドについて

現在UWSCでソフトのインストール作業を自動化する必要があります。

問題になっているのが、インストールが終了するまで待機する、というコマンドがあるのかないのかが分かりません。

何秒間待機というのは分かるのですが、例えば画面が完全に開くまで待機、とかインストールが完了した時に作業を続行する、などのコマンドが必要です。

どなたかお力をお貸し下さい。ある作業が終了するまで待機するというコマンドです。以上、よろしくお願いいたします。

Aベストアンサー

そういったコマンドは無いです。

が、キチンとウィンドウを識別させていけば同様の処理は可能です。

例1.インストール完了時のウィンドウを取得する
GETID()の第3引数に-1を指定すると、指定したタイトルのウィンドウが見つかるまで待ち状態になります。

// インストールが完了するまで待つ
hogeID = GETID("インストールを完了しました。",,-1)

// 完了のウィンドウで終了のボタンを押す
CLKITEM(hogeID,"終了",CLK_BTN)
以下略


例2.ウインドウのタイトルに変化が無いので、ボタンの文字列から完了を察知し動作させる
事前にウィンドウIDを取得しておくこと。
CLKITEMは処理できなかった場合(下記ケースではボタンが押せなかったり見つからなかった場合)戻り値にFALSE
が返ってきます。

bFlg = 0
// bFlgが1になるまでループ
WHILE bFlg = 1
bFlg = CLKITEM(hogeID,"終了",CLK_BTN)
WEND



簡単な例を2つほど挙げて見ましたが、おそらくこれで解決できるでしょう。

そういったコマンドは無いです。

が、キチンとウィンドウを識別させていけば同様の処理は可能です。

例1.インストール完了時のウィンドウを取得する
GETID()の第3引数に-1を指定すると、指定したタイトルのウィンドウが見つかるまで待ち状態になります。

// インストールが完了するまで待つ
hogeID = GETID("インストールを完了しました。",,-1)

// 完了のウィンドウで終了のボタンを押す
CLKITEM(hogeID,"終了",CLK_BTN)
以下略


例2.ウインドウのタイトルに変化が無いので、ボタンの文字列から完了を察...続きを読む

QVBAでUWSCが起動できない

色々検索してみたのですが、探せなかったのでこちらで質問させて
いただきます。

エクセルのマクロでUWSC(マウス自動操作アプリ)を実行しようとすると
記録したファイルまでは開くみたいなのですが「再生」を押さないと自動的に
実行されないみたいです。

マクロのコマンドボタンで「記録したファイル」→「再生(実行)」まで
行うにはどういったマクロを組んだらよろしいでしょうか?

ちなみに

Dim sScriptFile As String
sScriptFile = "C:\Desktop\UWSC.exe test.UWS"

End Sub

で入力しても記録したtest.UWSファイルを開いた状態で実行はされず
マウスも動かないといった具合です。

あと何か一文足せばいいのでしょうか??

よろしくお願いします。

Aベストアンサー

こんにちは。

>sScriptFile = "C:\Desktop\UWSC.exe test.UWS"

UWSC.exe は、場所ははっきりしていますが、test.UWS のスクリプトのファイル自体は、どこにあるのでしょうか?

以下は、私が使っていたものです。ダブルクォーテーションの付け方が面倒なので、ショートネームにしてあります。

Sub UWSC_clip()
'単発
Dim Fname As String
Fname = ThisWorkbook.Path & "\regtry2.uws"
Shell ("C:\PROGRA~1\UWSC\UWSC.exe /L" & Fname)
End Sub

一般的な書き方ですと、たぶん以下のようになるはずです。試してみてはいません。
Shell """C:\Program Files\UWSC\UWSC.exe /L"" """ & ThisWorkbook.Path & "\regtry2.uws"""

Lオプションは、「UWSC本体にファイルを読み込ませるのみ」
なお、できれば、uws のスクリプトは、記録のままにしないで、コードは整えたほうがよいかと思います。VBAを多少書ける人なら、自分で作れます。また、その置き場所は、My Documents 等の自分の管理の範囲に置いたほうがよいです。

こんにちは。

>sScriptFile = "C:\Desktop\UWSC.exe test.UWS"

UWSC.exe は、場所ははっきりしていますが、test.UWS のスクリプトのファイル自体は、どこにあるのでしょうか?

以下は、私が使っていたものです。ダブルクォーテーションの付け方が面倒なので、ショートネームにしてあります。

Sub UWSC_clip()
'単発
Dim Fname As String
Fname = ThisWorkbook.Path & "\regtry2.uws"
Shell ("C:\PROGRA~1\UWSC\UWSC.exe /L" & Fname)
End Sub

一般的な書き方ですと、たぶん以下のようになるはずです。試し...続きを読む

QUWSCでie内のデータを取得しエクセルにコピーする方法につい

はじめまして。
先日、UWSCを知り、始めたばかりのUWSC初心者です。
internetexplorerのtableのtd情報をあるだけ取得し、全てエクセルにコピーしたいのですが、その、書き方の質問になります。
最初はieとexcelを起動させたあとの記述は以下のような感じで書きました。

ww = IEGetData(IE,"TAG=TD",11)
sendstr(0,ww1)
ww2 =IEGetData(IE,"TAG=TD",12)
sendstr(0,ww2)
ww3 =IEGetData(IE,"TAG=TD",13)
sendstr(0,ww3)
ww4 =IEGetData(IE,"TAG=TD",14)
sendstr(0,ww4)
ww5 =IEGetData(IE,"TAG=TD",15)
sendstr(0,ww5)
ww6 =IEGetData(IE,"TAG=TD",16)
sendstr(0,ww6)

sheet1.range("a2").value = ww1
sheet1.range("b2").value = ww2
sheet1.range("c2").value = ww3
sheet1.range("a3").value = ww4
sheet1.range("b3").value = ww5
sheet1.range("c3").value = ww6


・・・とアナログ的に書けば、確かにie内のTDの1,2・・・の情報を取得して
excelにコピーできますが、TD1,2,・・・・の部分をあるだけ個別に取ってくる作業をもっと簡単に記述出来ると思うのですが、その書き方がわからなくて、ほんと困っています。。
あちこち参照して、for を組み合わせて使えばよいのは、なんとなくわかったのですが・・・tdデータの個別の抽出とエクセルに順序よく貼付する方法がわからなくて、どうしても思っているような作業がうまくできません。。
(下のような記述をしてみました。)

obj = ie.document.body.getelementsbytagname(\"td\")
for i = 0 to obj.length-1
tdn = obj.item(i).innertext
sendstr(0,tdn)
next
sheet1.range("a2").value = tdn



かなり初歩的な質問で、あきれてしまうかもしれませんが、どうか、宜しくお願いします。

はじめまして。
先日、UWSCを知り、始めたばかりのUWSC初心者です。
internetexplorerのtableのtd情報をあるだけ取得し、全てエクセルにコピーしたいのですが、その、書き方の質問になります。
最初はieとexcelを起動させたあとの記述は以下のような感じで書きました。

ww = IEGetData(IE,"TAG=TD",11)
sendstr(0,ww1)
ww2 =IEGetData(IE,"TAG=TD",12)
sendstr(0,ww2)
ww3 =IEGetData(IE,"TAG=TD",13)
sendstr(0,ww3)
ww4 =IEGetData(IE,"TAG=TD",14)
sendstr(0,ww4)
ww5 =IEGetData(IE,"TAG=TD",15...続きを読む

Aベストアンサー

操作対象のURLの提示がないので、UWSC掲示板の関連の話題を載せます。

http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=349&log=ON&cnt=3
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1451&log=ON&cnt=13
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1468&log=ON&cnt=12
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1787&log=ON&cnt=15


上は[掲示板検索ツール  UBTrek]で探しました。
http://sourceforge.jp/projects/uwsclib/

参考URL:http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi

操作対象のURLの提示がないので、UWSC掲示板の関連の話題を載せます。

http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=349&log=ON&cnt=3
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1451&log=ON&cnt=13
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1468&log=ON&cnt=12
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1787&log=ON&cnt=15


上は[掲示板検索ツール  UBTrek]で探しました。
http://sourcefo...続きを読む


人気Q&Aランキング