[ 掲示板に戻る ]

過去ログ閲覧モード

IESetDataで「 」つきがクリックできません / くり坊
よろしくお願いいたします。

<input type="button" onClick="hoge();" value=" ほげ ">

上記のボタンをクリックしたいのですがIESetDataでは「 」を識別しないのかクリックできません。
どのようにすればクリック可能でしょうか?

No.3294 2016/12/13(Tue) 15:14:56

Re: IESetDataで「 」つきがクリックできません / くり坊
上記valueの中身および「」の中身ですが先頭に半角文字で「&nbsp;」が書かれています。
こちらでは半角スペースに変換されてしまっております。

No.3295 2016/12/13(Tue) 15:19:46

Re: IESetDataで「 」つきがクリックできません / satocha
関数hoge()のつくり次第ですが、私ならまずは
ie.navigate("javascript:hoge()")
を試してみます。
関数hoge()がクリックした要素を見ている場合は上記では機能しないので、同様にjavascriptで"ほげ"にマッチするinput ボタン要素を探し、click()かな。

No.3296 2016/12/13(Tue) 16:06:06

Re: IESetDataで「 」つきがクリックできません / stuncloud
// idもnameもなかったらquerySelector
ie.document.querySelector("input[onclick=<#DBL>hoge();<#DBL>]").click()

// iesetdataならこれでクリックできました
iesetdata(ie, TRUE, "tag=input", n) // nは何個目のinput要素かの番号、上から数えて3つ目なら3を入れる

No.3297 2016/12/13(Tue) 18:18:13

Re: IESetDataで「 」つきがクリックできません / くり坊
お二方のいずれの方法でもクリックが成功いたしました。
感謝いたします。ありがとうございました。

No.3307 2016/12/14(Wed) 15:03:30
DOSCMDでコピー、変数利用の仕方 / タカハシ
DOSCMDでコピーしたいのですが、DOSCMD内でtest4の変数は認識されません。
普通にC:\Users\aruke\Dropbox\新しいテキストドキュメント.txtで指定するとちゃんとコピーできます。DOSCMDで変数利用する方法ないでしょうか?

test4 = "C:\Users\aruke\Dropbox\新しいテキストドキュメント.txt" //パスをしっかり確認する事


DOSCMD("copy C:\Users\aruke\Desktop\UWS\エクセル出力2.uws"+test4)

No.3298 2016/12/13(Tue) 22:08:02

Re: DOSCMDでコピー、変数利用の仕方 / K.Nagatani
まさか?エクセル出力2.uwsの後に半角スペースが無かったとか?Copyの後に半角スペースは確認出来ますがuwsの後に半角スペースが確認できませんので‼念のため‼
No.3302 2016/12/13(Tue) 23:22:55
RecIEのフレームが下がらない / モッチー
Win 8.1でRecIE(2.1.2.0)を使用していますが、一度ブラウザの下にあるフレームを結構上まであげたのですが、その後 フレームの太さが変わり、さがらなくなってしまいました。
再インストールしかないでしょうか?

No.3259 2016/12/05(Mon) 21:40:45

Re: RecIEのフレームが下がらない / Nagatani
昔私が質問したumiumiさんの回答です。
「どうしてもサイズが変更できないのであれば
 RecIEを終了した状態で、RecIE.INI を削除してください 」
「RecIE.INI」のバックアップを取って自己責任でお願いします。

No.3261 2016/12/05(Mon) 22:04:25

Re: RecIEのフレームが下がらない / モッチー
ありがとうございます。
No.3275 2016/12/10(Sat) 16:14:51
アプリが実行中かどうかの判断方法について 2 / にゃんこ
前回、アプリが実行中かどうかの判断をCPUの使用率で行う方法を教えていただきました。

Dim pid = Status(GetID(" - Internet Explorer"), ST_PROCESS)
Ifb pid > 0
  with CreateOleObj("WbemScripting.SWbemLocator")
    with .ConnectServer
      GetOleItem( .ExecQuery("SELECT * FROM Win32_PerfFormattedData_PerfProc_Process WHERE IDProcess = " + pid) )
      MsgBox(ALL_OLE_ITEM[0].PercentProcessorTime)
    endwith
  endwith
EndIf

これをディスクの使用率に変えたいのですがどうすればいいでしょうか?

No.3266 2016/12/06(Tue) 13:19:29

Re: アプリが実行中かどうかの判断方法について 2 / stuncloud
この手のWindowsの情報を取得する、というのはだいたいWMIでできますね
今回のも「WMI ディスク使用率」で検索すればサンプルも出てくると思います
UWSC以外が出てくるかもですが、どういったWQL(ExecQueryの引数に渡すクエリ文)を渡すかは使う言語は関係なく同じなので参考になります
で、実際に検索してみるとどうやら Win32_LogicalDisk クラスで必要な情報が得られそうなことがわかります
すると以下のようになります

with createoleobj("WbemScripting.SWbemLocator")
 with .ConnectServer
  col = .ExecQuery("SELECT Name,FreeSpace,Size FROM Win32_LogicalDisk") // Win32_LogicalDisk からName,FreeSpace,Sizeの値を返してね、というWQL文
 endwith
endwith

for disk in getoleitem(col) // ディスクの数分情報が含まれているので、ループで処理
 if disk.Size > 0 then // サイズが得られないもの(空のCDドライブとか)は無視する
  print disk.Name + " ドライブのディスク使用率は " + GetDiskUsage(disk) + "%です"
 endif
next

function GetDiskUsage(disk)
 usage = (disk.Size - disk.FreeSpace) / disk.Size * 100
 result = round(usage, -2)
fend

どういう作業をされているかはわかりませんが、WMIの使い方を覚えられるとできることの幅がぐんと広がると思いますよ

No.3270 2016/12/07(Wed) 13:44:35

Re: アプリが実行中かどうかの判断方法について 2 / にゃんこ
申し訳ありません。

ディスクの使用率ではなくディスクの速度でした。
タスクマネージャーのプロセスのディスクで○MB/秒の事です。
CPUの使用率では0%になっていて、アプリが実行中かどうかの判断が難しかったので、
ディスクの速度で判断しようと考えました。

PercentProcessorTimeの記述あたりを変更すればいいのかなと思って
PercentProcessorTimeで検索してみたのですが、引っかかりませんでした。

よろしくお願いします。

No.3271 2016/12/07(Wed) 18:22:50

Re: アプリが実行中かどうかの判断方法について 2 / stuncloud
なら IOWriteBytesPersec じゃないですかね
もう一度 Win32_PerfFormattedData_PerfProc_Process で検索してどのようなプロパティがあるかよく調べてみてください

No.3272 2016/12/07(Wed) 18:43:21

Re: アプリが実行中かどうかの判断方法について 2 / しろまさ
私は microsoft の WMICodeCreator を使って調べています。便利ですよ。
No.3273 2016/12/09(Fri) 09:11:53

Re: アプリが実行中かどうかの判断方法について 2 / stuncloud
> WMICodeCreator
おお、僕も以前は使ってました
最近は専らPowerShellですね

No.3274 2016/12/09(Fri) 09:46:13
SetHotkeyについて / kati

下記のようなプログラムを実行してます。
(slctboxの2番目を押すまでは停止しないプログラム)
slctboxの1番目と"alt+a"を押下した時に、同じ処理を実行させていますが、
slectboxを押した時は、msgboxを返答するまで処理が停止するので、
連続で実行されませんが、
"alt+a"を押下した場合、押した分処理が実行されてしまいます。
(msgboxが"alt+a"を押した分出てしまう。)
"alt+a"を押下した時も、先に押した"alt+a"の処理が終わるまで
待ってほしいのですが、方法ありますか?


SetHotkey(VK_A,MOD_ALT,"aaa")
aaa

Procedure aaa
Dim HOTKEY_VK,HOTKEY_MOD,select_choice,loopEnd
Repeat

Ifb (HOTKEY_MOD=MOD_ALT) And (HOTKEY_VK=VK_A) Then
loopEnd = "end"
select_choice = 1
EndIf

Ifb select_choice = ""
select_choice = SlctBox(SLCT_BTN + SLCT_NUM,0,0,0,, _
1,2)
EndIf

Ifb select_choice = 1 Then
loopEnd = "end"
EndIf

msgbox(select_choice)

select_choice = ""

Until loopEnd = "end"

FEnd
/*

No.3262 2016/12/06(Tue) 00:01:00

Re: SetHotkeyについて / miles
ホットキー処理中は、ホットキーを解除しておけば、いいのではないですか?
1)ホットキー処理開始時、ホットキーの解除をする。
2)ホットキー処理終了時、ホットキーを再設定する。

下記の部分は、Repeatの前のほうがいいと思いますよ。
Ifb (HOTKEY_MOD=MOD_ALT) And (HOTKEY_VK=VK_A) Then
loopEnd = "end"
select_choice = 1
EndIf

No.3267 2016/12/06(Tue) 15:08:42

Re: SetHotkeyについて / kati
miles様
なるほど。一回解除するという事は思いつきませんでした。
後、インデントが無く分かりにくいプログラムを見ていただき、
ありがとうございました。
(テキストで記入して記載しており、貼り付けて送信したらインデントが消えてました。)

No.3269 2016/12/06(Tue) 23:52:45
IE11で複数タブが開けない / shell_初心者
現在、Windows10、IE11の環境で複数タブを開く簡単なUWSファイルを作成してテストしているのですが、3つ目のタブ表示で必ずエラーになり進めません。

記述としては
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate2("http://myserver01/hogehoge1.htm")
IE.navigate2("http://myserver01/hogehoge2.htm", $800)
         ・
         ・
IE.navigate2("http://myserver01/hogehoge6.htm", $800)

と至ってシンプルな物ですが、デバッグでは、4行目のIE.navgate2で「そのインターフェースは認識されません」
通常に起動させても5行目で「例外が発生しました」のCOMエラーが出て、最大でも2画面(タブ)しか表示されない状態です。

何か調査・解決する方法をご存知でしたらご教示願いたく存じます。

UWSC Ver5.2.3
windouws10
IE11

ちなみに、IE9のVISTA環境でUWSC Ver4.8c1では問題なく動作しました

No.3233 2016/12/01(Thu) 21:34:22

Re: IE11で複数タブが開けない / miles
これでどうですか?

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate2("")   // エラー回避のために追加
BusyWait(IE)    // 更新待ち処理
IE.navigate2("http://myserver01/hogehoge1.htm")
BusyWait(IE)    // 更新待ち処理
IE.navigate2("http://myserver01/hogehoge2.htm", $800)
BusyWait(IE)    // 更新待ち処理

// IE11にて画面更新後に操作(COM)ができない  #N45
//  IE11 では一度アクティブ状態にする必要があります。
//  ので画面更新の後に IEに対して WM_ACTIVATE を送り操作可能にします。
  DEF_DLL SendMessageA(Hwnd, Long, Long, Dword): bool: user32
  CONST WM_ACTIVATE = $06
  Procedure BusyWait(ie)   // 更新待ち処理
   repeat
    Sleep(0.2)
   until (! ie.busy) and (ie.readyState=4)
   SendMessageA(ie.Hwnd, WM_ACTIVATE, 0, 0) // 更新直後に WM_ACTIVATEを送る事によりバックグランドでも操作可となる
  Fend

No.3256 2016/12/05(Mon) 16:34:04

Re: IE11で複数タブが開けない / shell_初心者
mile様、ご回答ありがとうございます。busywaitも記述してみましたが、repeat文で例外エラーが出てきました。
結論としてexe作成ツールでexe化した上で「管理者として実行」する事で解決致しました。
一般アカウントによる、フォルダ参照制限か更新制限がそもそもの原因になっていた模様です。
しかし、IEのタブにサイトを追加するだけのUWSで、「アプリの更新」ダイアログが出てくるのはなんか納得いきませんでした。

No.3268 2016/12/06(Tue) 18:47:14
途中でプログラムを停止したい / まきす
お世話になっております。

タイマーセットなどして動いたプログラム動作中、
停止ボタンまでポインタを動かそうとしても、
プログラムに従ってポインタが動いてしまいます。
なんとかプログラムの動きの合間に停止ボタンを押すのですが、
なんだか苦労しております。
途中で設定したプログラムを停止する方法は無いでしょうか?

No.3242 2016/12/03(Sat) 17:47:15

Re: 途中でプログラムを停止したい / koi
標準ではALT+F2で終了(停止)ですが終了しませんか?
 −>設定でカスタマイズ可能

どうしてもだめならスクリプト上で
HOTKEY指定してプログラム終了する方法もあるかと

スクリプトでマウス操作してしまうと
マウス操作で終了するのに困難なことは確かです(よくやらかします)

No.3243 2016/12/03(Sat) 19:59:15

Re: 途中でプログラムを停止したい / K.Nagatani
上記Alt+F2でもダメな場合は、REPEATの間隔を開けてみては?
REPEAT
SLEEP(0.2)
UNTIL ••••

No.3244 2016/12/03(Sat) 23:55:32

Re: 途中でプログラムを停止したい / まきす
koi様、K.Nagatani様、ありがとうございました。解決しましたm(_ _)m
No.3265 2016/12/06(Tue) 06:46:43
(No Subject) / SEN
もしかして、二桁ずつ区切って数字を入れ替えて、$を足せば良いのか!
なるほど!satochaさんの結うことが言うことがわかりました。

No.3264 2016/12/06(Tue) 00:29:47
BGR値を探す方法を教えて欲しい。 / SEN
いつもお世話になっております。
BGR色についてですが、ヘルプ以外の色を探しています。眠たい詩人の「fukidasi()関数の文字色と背景色のBGR値を生成(UWSC)」を参考に白と紫が見つかったのですが、中々うまく見つかりません。
一覧表みたいなのが掲載されているホームページがありましたら、助かります
何卒よろしくお願い申し上げます。

DIM Excel = XLOPEN()
DIM 色 = "オレンジ"
DIM BGR = ReadIni("BGR",色,"色.INI")
XLSETDATA(Excel,色+"="+BGR,1,1,,,BGR)

//色.INI
[BGR]
白=$FFFFFF
紫=$800080
青=$FF0000
緑=$00FF00
赤=$0000FF
オレンジ=$80FF
黄=$FFFF

No.3249 2016/12/04(Sun) 18:53:24

Re: BGR値を探す方法を教えて欲しい。 / stuncloud
こないだ書いた記事です

https://stuncloud.wordpress.com/2016/11/04/uwsc_color_picker/

色選択ダイアログで好きな色のBGR値が得られますよ

color = 0
if PickColor(color) then // 引数は参照渡し
 print "$" + replace(format(color, 6, -1), " ", "0") // UWSCで使える $BBGGRR 形式の文字列に変換
else
 print "キャンセルしました"
endif

No.3251 2016/12/05(Mon) 09:55:52

Re: BGR値を探す方法を教えて欲しい。 / stuncloud
すいません、眠たい詩人さんとことやってること一緒でしたね…
No.3252 2016/12/05(Mon) 09:58:30

Re: BGR値を探す方法を教えて欲しい。 / satocha
「html 色名 コード」あたりのキーワードで検索すると
http://www.colordic.org/
などのサイトが引っかかります。
htmlの色コードはRGBの順なので、ひっくり返せばUWSCの色コードとして使えます。
たとえば、上記サイトで「hotpink」は#ff69b4なので
UWSC上の色コードは$b469ffになります。

No.3253 2016/12/05(Mon) 10:19:56

Re: BGR値を探す方法を教えて欲しい。 / SEN
出来ました。ありがとうございました。

satochaの言われている「ひっくり返せば」というのも、stuncloudさんや眠たい詩人さんのコードの中身はさっぱり分かりませんが、これで凄く使える色が増えそうです。


↓こんな感じにさせてもらいました。
WriteIni("BGR",input("色"),"$" + replace(format(color, 6, -1), " ", "0"),"色.INI")

↓見る見るうち使える色が増えそうです。
//色.INI
[BGR]
白=$FFFFFF
紫=$800080
青=$FF0000
緑=$00FF00
赤=$0000FF
オレンジ=$80FF
黄=$FFFF
明るいピンク=$FF00FF
薄い黄色=$80FFFF
よもぎ色=$008080
薄い灰色=$C0C0C0

ps.RGBは結構hpがあるのにBGRのhpは全くありません。
  uwscを使っている方は、不自由してないのかな?
  という疑問はあります。

No.3263 2016/12/06(Tue) 00:24:01
html形式のファイルからタグを削除したい / リキュール
ファイルにhtml形式の文章が入っています。
これを、タグを除いたテキスト文章にしたいです。
正規表現を使えば出来るらしいですが方法が分かりません。
よろしくお願いします。

fid = FOPEN("○○.TXT",F_READ)
BUN = FGET(fid,F_ALLTEXT) //全文読み取り
Pattern="○○○○"
TXT= Replace(BUN,Pattern, "")
print TXT
FCLOSE(fid)

//<("[^"]*"|'[^']*'|[^'">])*> 正規表現

No.3241 2016/12/03(Sat) 14:12:36

Re: html形式のファイルからタグを削除したい / satocha
//<("[^"]*"|'[^']*'|[^'">])*> 正規表現
まで調べたのだけれど、これをUWSCでどうやればいいか分からないということでしょうか。

UWSCで正規表現を使う方法はFAQの「正規表現を利用したい  #N26」を見てください。

ここでは別の方法として、正規表現が使えるpowershellを使ってファイルの読み込みから変換まで一気にやってしまう例を示しておきます。行数も短いので。
textblock pssrc
  gc $$$FILE$$$|%{$_ -replace "<(`"[^`"]*`"|'[^']*'|[^'`">])*>", ""}
endtextblock
TXT  =powershell( replace( pssrc, "$$$FILE$$$", "○○.TXT" ) )
print TXT

No.3246 2016/12/04(Sun) 10:51:05

Re: html形式のファイルからタグを削除したい / リキュール
satocha さん、お世話になります。
powershell を使用する参考例でバッチリ動作しました。(私には魔法のようです)
ありがとうございました。

なお、#N26の方法を調べましたがうまくいきません。
fid = FOPEN("○○.TXT",F_READ)
BUN = FGET(fid,F_ALLTEXT) //全文読み取り
regex = CREATEOLEOBJ("VBScript.RegExp")
regex.Global = True
regex.Pattern = "<#DBL><(`"[^`"]*`"|'[^']*'|[^'`">])*><#DBL>"
//<#DBL>の正しい利用方法をまだ理解できません。(初心者)
print regex.Replace(BUN, "") // 置換
FCLOSE(fid)

No.3247 2016/12/04(Sun) 14:05:42

Re: html形式のファイルからタグを削除したい / stuncloud
正規表現だと面倒なので…

doc = createoleobj("htmlfile")
doc.write(BUN)
print doc.body.innerText

No.3248 2016/12/04(Sun) 16:47:02

Re: html形式のファイルからタグを削除したい / リキュール
stuncloud さん、お世話になります。
innerText を使用する方法に気が付きませんでした。
思いどおりに表示できました。
正規表現は私には難しそうです。
ありがとうございました。

No.3250 2016/12/04(Sun) 19:33:42

Re: html形式のファイルからタグを削除したい / miles
解決済みなので、参考になれば...

> なお、#N26の方法を調べましたがうまくいきません。
ダブルコーテイションがあると一発でできないようです(多分)。
別々にすれば、できるようです。

regex = CREATEOLEOBJ("VBScript.RegExp")
regex.Global = True
regex.Pattern = "<#DBL>"     // "ダブルコーテイションのみ処理
BUN = regex.Replace(BUN, "")   // 置換
regex.Pattern = "<(`[^`]*`|'[^']*'|[^'`>])*>" // "を除いた部分を処理
print regex.Replace(BUN, "")    // 置換

No.3254 2016/12/05(Mon) 11:59:44

Re: html形式のファイルからタグを削除したい / リキュール
miles さん、お世話になります。
正規表現を使用して表示できました。
発想の転換で、いろいろな方法があるのですね。
大変勉強になりました。
ありがとうございました。

No.3260 2016/12/05(Mon) 22:03:45
全1170件 [ ページ : << 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 ... 117 >> ]