[ 掲示板に戻る ]

過去ログ閲覧モード

IElinkがうまく使えない / Hanasaka
捨てメールアドレスというホームページの「メールアドレス作成ボタン」を
自動でクリックするように次のように組みました

IE = CreateOLEObj("InternetExplorer.Application") //uwscでのIE制御
IE.visible = True //ウインドウ上に表示
IE.Navigate("http://sute.jp/") // 捨てアドにアクセス
IELink(IE,"メールアドレスを作成する")

最初はうまくリンク先に跳んでいったのですが、
色々書き足していくうちに気づいたら跳ばなくなってしまいました

それで上記の部分だけを抜き出して実行したみたのですがうまくいきません

また
IELink(IE,"メールアドレスを作成する")
をホームページ下部にある利用規約に跳ぶように
IELink(IE,"利用規約")
に変更して試したところこちらは問題なくリンク先に跳びました

ボタンの種類?に違いはあるのですが以前はちゃんと跳んでくれただけに
頭を抱えています

お時間をとらせますが原因がわかる方見えましたら教えていただけないでしょうか?
お願いします

No.121 2014/09/11(Thu) 18:47:10

Re: IElinkがうまく使えない / 森
「メールアドレスを作成する」の部分は、
リンク(Aタグ)ではなく ボタン(submit)なので、
IElink ではなく、IESETDATA を使いましょう。

以前使えて今は使えないのであれば、先方ページの作りが変更されたのだと思います。

また、IE.Navigate("http://sute.jp/") の次行に、BusyWait(IE) を入れておかないと、
表示完了を待たずにクリックを実行してしまいますよ。

No.126 2014/09/11(Thu) 22:44:50

Re: IElinkがうまく使えない / Hanasaka
教えていただいたとおりIESETDATAに変更したところうまくいきました
表面上まったく変わっていないように見えましたので、
先方のHPのプログラムの変更などとは全くおもいつきませんでした
とても助かりました、ありがとうございました

No.127 2014/09/11(Thu) 23:50:24
ディレクトリの変更 / ゆうき

CHKIMG( "画像" )
とすればUWCファイルのあるフォルダ内の画像というファイルを探すと思います。

CHKIMG( "bmp\画像" )
こうすればbmpフォルダの中にあるファイルを探すのはわかるのですが、

元々のディレクトリを変更する方法はあるでしょうか。
CHKIMG( "画像" ) この状態でbmpフォルダ内を探すような処理をしたいです。
よろしくお願いいたします。

No.122 2014/09/11(Thu) 19:10:52

Re: ディレクトリの変更 / 森
関数を作ってみては?

chkimg2("画像")

procedure chkimg2(fileName)
 chkimg("bmp\" + fileName )
fend

No.125 2014/09/11(Thu) 22:38:14
複数のバッチを簡単に切り替えて使いたい / ホログラム
PhotoshopからElementsにダウングレードしたのでアクション登録機能が使えなくなって、バッチ作業をUWSCにやらせていてとても快適です。

ただ、流れ作業の中で手作業がワンクッションで入る部分があって、前後半に分けてバッチをやらせたいのですが、現在UWSCは同時に一個のファイルしか使えません。その都度読み込むのでは使いにくいです。

マクロみたいにして、マクロ1〜5にそれぞれ違うファイルを読み込んでおいて、キー割り当てでそれぞれALT+F1〜ALT+F5で再生するようにできたら、めちゃくちゃ便利だと思いますが、そのような予定はありませんか?

MMORPGでもそれができたら便利だなって思ったことがあるので、可能なら是非つけて頂きたいです。

No.118 2014/09/11(Thu) 14:12:50

Re: 複数のバッチを簡単に切り替えて使いたい / ミリアム
UWSCはスクリプトで細かく動作を設定できるので、たいていのことはスクリプトの編集で済んでしまいますよ!

GetKeyState関数かSetHotKey関数を使って、CALLをするのはどうでしょうか?
こんな感じです↓
--------------------------------------------------------
SetHotKey(VK_F1, MOD_ALT, "読み込み")
SetHotKey(VK_F2, MOD_ALT, "読み込み")
SetHotKey(VK_F3, MOD_ALT, "読み込み")
SetHotKey(VK_F4, MOD_ALT, "読み込み")
SetHotKey(VK_F5, MOD_ALT, "読み込み")

While TRUE
 Sleep(5)
WEnd

Procedure 読み込み
 Select HOTKEY_VK
  Case VK_F1
   CALL UWSファイル1.UWS
  Case VK_F2
   CALL UWSファイル2.UWS
  Case VK_F3
   CALL UWSファイル3.UWS
  Case VK_F4
   CALL UWSファイル4.UWS
  Case VK_F5
   CALL UWSファイル5.UWS
 SelEnd
FEnd

No.119 2014/09/11(Thu) 14:28:38

Re: 複数のバッチを簡単に切り替えて使いたい / ホログラム
ミリアムさん、教えて頂いたテクニックでうまくいきました。
こんな使い方もできるんですね。すごいです。
なんか視野が一遍に広がったような気がします(^^)。
どうもありがとうございました〜

No.120 2014/09/11(Thu) 14:59:24
Avastの誤検知について / Nyu
AvastのファイルシステムシールドがUWSCプログラムを誤検知し、exeを削除する事態が頻発しています。
例えば自身でexe化したツールも実行すると削除されてしまいますし、UWSCの過去ログ検索ツールもダウンロードする際に削除されます。

使用者が私自身だけなら検知しないようにファイル除外設定をすれば問題ないのですが、exe化したプログラムを送付したところ、受け取り側のAvastメールシールドやファイルシステムシールドにて誤検知されてしまいます。

何か対策等ありませんでしょうか。


・環境
Windows 7 64bit
UWSC Pro Ver 5.0.2.0

No.63 2014/09/02(Tue) 07:52:39

Re: Avastの誤検知について / なま
送付先で除外設定してもらうしかないんじゃないでしょうか?
或いはAvast側に誤検知の報告を上げるか。

//何がNGか判らないのでこれくらいしか書けません……

No.93 2014/09/06(Sat) 13:51:40

Re: Avastの誤検知について / しゅん
私もそれしかないと思います。
ただ、Avastが誤検知する理由は、なんとなくわかる気がします、、、。
もし私の推測が正しいなら、簡単には修正してくれない気もします。
いずれにしても、送付先で除外設定にしてもらうのが早いかと思います。

試しに、過去ログ検索ツールをVirusTotalでチェックしました。
https://www.virustotal.com/ja/
現時点の結果は、
https://www.virustotal.com/ja/file/2cb49e5bd4e77cc533564c1e7ba09303bdd5b3e8f2af0c363d024fff8d7aa2c6/analysis/1410010055/
と見事にAvast以外はひっかからないので、これを根拠に送付先にお願いしてはどうでしょうか。

No.96 2014/09/06(Sat) 22:33:51

Re: Avastの誤検知について / Nyu
なまさん、しゅんさん、ご回答ありがとうございます。

当方も受け取り側に除外するようお願いしているのですが、avastメールシールドはどうもファイル名毎に除外といった設定が出来ないようです。
(ファイルシールドは可能)
ですのでファイルを送付する度にメールシールドをOFF、もしくは常にOFFにしていただいているので、何とかならないかと相談を受けている状態でした。

現時点での解決法は無いとの事了解です。
また、VirusTotalの結果を載せていただきありがとうございました。

No.106 2014/09/08(Mon) 06:10:45

Re: Avastの誤検知について / すがり
とうとうUWSC.exeそのものを消されるようになりました。
解凍した時点でフォルダ設定から操作されます。

何もできなくなるどころの話ではありませんね・・・。

No.116 2014/09/11(Thu) 03:32:01
VK_CAPITALのクリックに対応していない? / thig
SETHOTKEYを利用していたところ、CAPSLOCKだけでは使えない事に気が付きました。
スクリプト中の別機能の呼びだしで使おうと思っているので、
クリックでも使えるようになると嬉しいです。

また、何か他の方法があれば教えて欲しいです。

While true
    sethotkey(VK_CAPITAL, , "msg1") //反応せず
    sethotkey(VK_CAPITAL, MOD_SHIFT,"msg2") //CAPSLOCKがONになったら反応する。
    sethotkey(VK_CAPITAL, MOD_CONTROL,"msg3") //CAPSLOCK ON状態+CTRLでも反応せず
// flag = getkeystate(VK_CAPITAL) //CAPSLOCKをクリックしただけでは動かない。CAPSLOCKがONになると反応する
// IF flag = 1 then msg4
WEND

PROCEDURE msg1
    Fukidasi("aになりました。")
FEND

PROCEDURE msg2
    Fukidasi("bになりました。")
FEND


PROCEDURE msg3
Fukidasi("cになりました。")
FEND

PROCEDURE msg4
Fukidasi("dになりました。")
FEND

No.58 2014/09/01(Mon) 18:51:32

Re: VK_CAPITALのクリックに対応していない? / stuncloud
僕の手元だとCapsLockキーは以下で取れました
sethotkey($F0,,"proc")

あと、sethotkeyは一度呼ぶだけでいいのでループの外に書いたほうが良いと思いますよ

No.74 2014/09/03(Wed) 15:15:42

Re: VK_CAPITALのクリックに対応していない? / thig
なるほど!キーコード(?)を直接指定してやるという方法もあるのですね。
こういう方法は思っていなかったので目から鱗で勉強になりました。

また、ご指摘の通りsethotkeyを外に出すようにしましたので気分的にスッキリしました。
ご指摘ありがとうございます。

仮想キーコードについても調べたので、これで応用が利くようになりました。
教えて下さってありがとうございました。

No.115 2014/09/10(Wed) 22:16:05
UWSC Ver 5.0.3 / umiumi
エラー「KansuCall:Overflow while converting...」が出る事があるのを修正
多重スレッドにて BALLOON関数を呼び出した時にエラーが出る事があるのを修正
OLEEVENT関数にてエラーが出るパターンがあるのを修正
DROPFILE関数にてドロップ位置を指定をできるようにした
OPTION指定にて 停止ホットキーを無効にする NOSTOPHOTKEYを付けた
Pro版:
XLSHEET関数にて正常処理時にも Falseを返していたのを修正

No.99 2014/09/07(Sun) 03:03:06

Re: UWSC Ver 5.0.3 / koh
>エラー「KansuCall:Overflow while converting...」が出る事があるのを修正
素早い対応有難うございます
 月曜日に早速試してみます

No.100 2014/09/07(Sun) 07:13:48

Re: UWSC Ver 5.0.3 / ミリアム
>OPTION指定にて 停止ホットキーを無効にする NOSTOPHOTKEYを付けた
おおおおっ ありがとうございます!
てっきり追加はないものだと思ってました。

さっそく追加してきます!

No.105 2014/09/07(Sun) 20:19:20
フレーム内のリンク数を調べたいです / リキュール
初歩的なことですが"kekka"のフレーム内のリンク数を知りたいです。
print IE.Document.frames("kekka").Document.links.length
でエラーとなります。
どこが間違っているのでしょうか。

ソースは以下の通りです。
<frameset rows="150,*">
<frame name="kensaku" src="yasoukensaku2.html">
<frame name="kekka" >
</frameset>

No.71 2014/09/02(Tue) 21:25:56

Re: フレーム内のリンク数を調べたいです / しゅん
ちょっと未確認で申し訳ないですが、あっていると思いますよ。
ポイントは
・「print IE.Document.frames("kekka").Document.links」等「.」区切りで減らしていって、どこまで減らすとエラーにならず数字が出るか
・ロードが終わってからアクセスしているか
・frames("kekka")で「kekka」のフレームがつかめているか
といったところになります。

いずれにしても、情報がこれだけでは再現のしようがないため、もう少し具体的に書いてもらえると、回答が得られる、、、かもしれませんよ!

No.80 2014/09/04(Thu) 23:39:00

Re: フレーム内のリンク数を調べたいです / リキュール
しゅん 様

お世話になります。
frames("kekka")で「kekka」のフレームがつかめていないようです。
以下を実行した結果、下のフレーム?のリンクを取得したかったです。
当方が勘違いをしている部分があると思います。
よろしくお願いいたします。

Public IE
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://matsue-hana.com/yasoukensaku.html")
BusyWait()
IESetData(IE,"イガホオズキ","text1") // TEXT
IESetData(IE,True,"","検索") // BUTTON
BusyWait()

No.85 2014/09/05(Fri) 13:27:46

Re: フレーム内のリンク数を調べたいです / なま
IE11であれば。
http://www.uwsc.info/faq.html#n45

No.87 2014/09/05(Fri) 18:50:28

Re: フレーム内のリンク数を調べたいです / リキュール
なま 様

お世話になります。
>IE11であれば。
http://www.uwsc.info/faq.html#n45
RecIE で作成しているため以下が最後の方に記載されています。
初心者クラスなのでこの意味も理解できません。

DEF_DLL SendMessageA(Hwnd, Long, Long, Dword): bool: user32
CONST WM_ACTIVATE = $06
public Pub_url, Pub_docc, Pub_BeforNav_cnt, Pub_DocComp_cnt, Pub_inp_flg
Procedure BusyWait()   // 更新待ち処理
Sleep(0.3)
tm = GetTime()
repeat
Sleep(0.2)
・・・・・・

・・・・・・
Sleep(0.2)
until ! Pub_inp_flg
Pub_url=""; Pub_docc=""; Pub_BeforNav_cnt=0; Pub_DocComp_cnt=0
SendMessageA(IE.Hwnd, WM_ACTIVATE, 0, 0)
Fend

No.88 2014/09/05(Fri) 23:22:09

Re: フレーム内のリンク数を調べたいです / しゅん
、、、猛烈に嫌な作りのサイトですね、、、。
内部で生成したHTML文字列をFrameに書いているので、別ドメイン扱いとなって取得できないようです。たぶん。
http://matsue-hana.com/yasoukensaku2.html
にアクセスすると、検索対象の全データがjavascriptとして落ちてくるので、
a. それで満足する
b. javascript を ScriptControlに渡して解析する
といったところが考えられます。
bをやろうかとも思ったのですが、別ドメインっぽいと判定するのに時間をだいぶ使ってしまったので、個人的にパスです。すみません。

No.95 2014/09/06(Sat) 22:24:39

Re: フレーム内のリンク数を調べたいです / umiumi
print IE.Document.frames.item["kekka"].Document.links.length

古いバージョンのIEなら .frames["kekka"]. の形で通りますが、今は.frames.item["kekka"].の形でないとダメになったと思う。

No.97 2014/09/06(Sat) 23:32:02

Re: フレーム内のリンク数を調べたいです / リキュール
umiumi さん

お世話になります。
>print IE.Document.frames.item["kekka"].Document.links.length
でリンクの数が取得できました。
リンク名も取得でき、対応するURLを見つけてリンクのページに行くことが出来ました。
ありがとうございました。

No.98 2014/09/07(Sun) 00:12:22

Re: フレーム内のリンク数を調べたいです / なま
>>しゅんさん
自分の環境ではリキュールさんのスクリプトで問題なかったのでソース見たのですが、愕然としました。
仰るように、
http://matsue-hana.com/yasoukensaku2.html
を取得して、適当に整形してExcelにでも突っ込むのが使い勝手良いかと思います……

No.104 2014/09/07(Sun) 18:52:50
UWSC.ini、StopForm=1について / いけだ
お世話になります。
UWSC Ver 5.0.3に切り替えてみました。

気になる点が1件ありましたので連絡いたします。

UWSC.iniの
[SET]
StopForm=1
が有効になっていないようです。

どのような過程でこの機能を使いようになったかは不明なのですが、当該指定で“完全に”UWSCウィンドウを非表示に出来ると嬉しいです。
当該指定の復活を望みます。よろしくお願いいたします。

No.103 2014/09/07(Sun) 14:34:40
文字列の中から月日を抜き出したくて / sen
いつもお世話になっております。
文字列の中から月日を抜き出したくて作成してみたのですが、
どう見てもイマイチな感じです。
何か良いのがあれば、ご教授願えませんでしょうか?


dim 入力 = "吉田聡子様 10/5施工"
msgbox(P月日(入力))

FUNCTION P月日(var 入力 )
 入力 = STRCONV(入力,SC_HALFWIDTH)
 位置 = pos("/",入力)
 ifb 位置 = 2 then
  月 = copy(入力,位置-1,1)
  月 = replace(format(val(月),2)," ",0)
  ifb CHKNUM(copy(入力,位置+2,1)) = true then
   日 = copy(入力,位置+1,2)
  else
   日 = copy(入力,位置+1,1)
  endif
  日 = replace(format(val(日),2)," ",0)
 else
  ifb CHKNUM(copy(入力,位置-2,1)) = true then
   月 = copy(入力,位置-2,2)
  else
   月 = copy(入力,位置-1,1)
  endif
  月 = replace(format(val(月),2)," ",0)
  ifb CHKNUM(copy(入力,位置+2,1)) = true then
   日 = copy(入力,位置+1,2)
  else
   日 = copy(入力,位置+1,1)
  endif
  日 = replace(format(val(日),2)," ",0)
 endif

 GetTime(0)
 工事日 = G_TIME_YY4+"/"+月+"/"+日
 for i = 0 to 120
  Gettime(i-30)
  存在する年月日 = G_TIME_YY4+"/"+G_TIME_MM2+"/"+G_TIME_DD2
  ifb 工事日 = 存在する年月日 then
   Result = 工事日
  endif
 next
fend

No.26 2014/08/25(Mon) 21:30:01

Re: 文字列の中から月日を抜き出したくて / なま
//何がイマイチかは知りませんが……

dim 入力 = "吉田聡子様 10/5施工"
msgbox(P月日(入力))

FUNCTION P月日(var 入力 )
 入力 = STRCONV(入力,SC_HALFWIDTH)
 位置 = pos("/",入力)

 月 = copy(入力,位置-2,2)
 月 = replace(月,"/","") //顧客名なし&1桁月対応
 ifb !CHKNUM(月)
  月 = copy(月,2,1)
 endif
 月 = replace(format(val(月),2)," ",0)
 日 = copy(入力,位置+1,2)
 ifb !CHKNUM(日)
  日 = copy(日,1,1)
 endif
 日 = replace(format(val(日),2)," ",0)

 GetTime(0)
 工事日 = G_TIME_YY4+"/"+月+"/"+日
 for i = 0 to 120
  Gettime(i-30)
  存在する年月日 = G_TIME_YY4+"/"+G_TIME_MM2+"/"+G_TIME_DD2
  ifb 工事日 = 存在する年月日 then
   Result = 工事日
  endif
 next
fend

//基本的な考え方は一緒です。

No.34 2014/08/26(Tue) 15:17:53

Re: 文字列の中から月日を抜き出したくて / stuncloud
文字列の解析を正規表現で、正しい日付かどうかのチェックはtryとgettimeでやってみました
日付が見つからなかったり不正な日付だった場合は空文字列を返します

function P月日2(str, y = 0)
 result = ""
 if y = 0 then
  gettime()
  y = G_TIME_YY4
 endif
 str = strconv(str, SC_HALFWIDTH)
 // 正規表現で m/d を探す
 re = createoleobj("VBScript.RegExp")
 re.pattern = "(\d{1,2})/(\d{1,2})"
 match = re.Execute(str)
 if match.count then
  if match.item[0].SubMatches.count = 2 then
   // 見つかったら yyyy/mm/dd 形式の文字列を生成
   mm = replace(format(val(match.item[0].SubMatches[0]), 2), " ", "0")
   dd = replace(format(val(match.item[0].SubMatches[1]), 2), " ", "0")
   date = y + "/" + mm + "/" + dd
   try
    // gettimeの基準日として渡す
    // 存在しない日付だったらエラーになる
     gettime(0, date)
   except
    // エラーになったら抜ける
    exit
   endtry
   // 日付を返す
   result = date
  endif
 endif
fend

No.36 2014/08/26(Tue) 21:05:20

Re: 文字列の中から月日を抜き出したくて / sen
ありがとうございます。

なま様

//何がイマイチかは知りませんが……
特別、変な考えではなかったのですね。
「!」を使ってのスッキリしているところが、勉強になります。

stuncloud様

//文字列の解析を正規表現
正規表現だと、1桁月と2桁月の部分が場合分けせずにチェックできて素敵です。
応用も利きそうです。

No.102 2014/09/07(Sun) 13:50:19
削除するには… / まっつん
下記の箇所を削除するにはどのようにすれば良いでしょうか?

どうぞよろしくお願いします。

-----------------------------------

<a href="http://abcd">AAA</a>;

※ 毎回URL、AAAは異なるURL、文字になります。


AAA以外を削除して、AAAのみを取り出したいのです

-----------------------------------

No.78 2014/09/04(Thu) 22:22:51

Re: 削除するには… / しゅん
url = "<a href=<#DBL>http://abcd<#DBL>>AAA</a>;"
MSGBOX("元の文字列<#CR>" + url)

MSGBOX("betweenstrを使う<#CR>" + BETWEENSTR(url, ">", "<"))

// 正規表現を使う
// 不要なタグを消去する方向
DIM regexp = CREATEOLEOBJ("VBScript.RegExp")
regexp.Pattern = "<[^>]*>;?"
regexp.Global = TRUE
MSGBOX("Replaceを使う<#CR>" + regexp.Replace(url, ""))

// aタグの中のみ取り出す方向
regexp.Pattern = "<a\s[^>]*>([^<]*)</a>"
m = regexp.Execute(url)
IF m.Count THEN MSGBOX("Executeを使う<#CR>" + m.Item(0).SubMatches.Item(0))

No.79 2014/09/04(Thu) 23:33:35

Re: 削除するには… / まっつん
しゅんさん、ありがとうございました。
No.86 2014/09/05(Fri) 15:18:03
全1087件 [ ページ : << 1 ... 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 >> ]