[ 掲示板に戻る ]

過去ログ閲覧モード

ワードプレスにあるテキストリンクをクリックする方法 / ゆう
ワードプレスにある「アイキャッチ画像を設定」というテキストをクリックする方法ないでしょうか?
IESETDATA( IE,true,"アイキャッチ画像を設定")ではできなかったです。
何か良い方法ないでしょうか?

[下記がコード]
<a class="thickbox" id="set-post-thumbnail" href="http://kaaaaaaa.net/wp-admin/media-upload.php?post_id=828047&type=image&TB_iframe=1">;アイキャッチ画像を設定</a>

No.4382 2017/08/31(Thu) 20:06:52

Re: ワードプレスにあるテキストリンクをクリックする方法 / 森
PRO版のRecIE(IE専用の自動記録ツール)を使えば簡単ですよ。
IESetData(IE,True,"","id=set-post-thumbnail")

No.4385 2017/09/01(Fri) 08:13:07

Re: ワードプレスにあるテキストリンクをクリックする方法 / ゆう
森様、ありがとうございます。希望通りの処理ができました。
No.4387 2017/09/01(Fri) 10:13:47
クライアント領域 / ひろ
初歩的な質問で申し訳ありません。
IEでのクライアント領域についてなのですが、

id = GETID("○○○ - Internet Explorer", "IEFrame", -1)
MOUSEORG(id,1)

でクライアント領域を指定した後、MMV(0,0)を実行すると、
非クライアント領域(メニューバー、タイトルバー等...)の0,0にマウスが移動してしまいます。

非クライアント領域を除いたクライアント領域を基準として取りたいのですが、
何か良い方法はないでしょうか?

No.4375 2017/08/30(Wed) 11:38:55

Re: クライアント領域 / しき
id = getid("", "IEFrame")
id_server = hndtoid(getctlhnd(id, "Internet Explorer_Server")) //HTML Documentの部分
mouseorg(id_server)
mmv(0, 0)
mouseorg(0)

No.4376 2017/08/30(Wed) 16:51:05

Re: クライアント領域 / ひろ
無事、クライアント領域の0.0にマウスが移動しました。
Document部分を起点にする方法があったのですね。勉強になります。
ありがとうございました!

No.4381 2017/08/31(Thu) 18:14:10
TeraPadの最小化がうまくいきません / たか
TeraPadを、
手動で、タスクバーのファイル名のアイコンをクリックして、最小化してから、
UWSCで、最大化 → 最小化 しようとすると、最小化がうまくいきません。
何か良い方法はないでしょうか?
また、うまくいかないのは、自分だけでしょうか。Win7 UWSC 5.3.0.2

CTRLWIN(GETID("TeraPad"),MAX)
SLEEP(2)
CTRLWIN(GETID("TeraPad"),MIN) // ここで最小化できない

最初の、手動でタスクバーのファイル名アイコンをクリックして最小化しなければ、うまくいきます。
(ウィンドウが最大化か普通の大きさのとき)
自分で最小化しているときがあるので、そのときも最小化させたいです。

【試したこと】

・NORMAL をはさんでみた。

CTRLWIN(GETID("TeraPad"),MAX)
SLEEP(2)
CTRLWIN(GETID("TeraPad"),NORMAL)
SLEEP(2)
CTRLWIN(GETID("TeraPad"),MIN) // ここで最小化できない

・CLKITEMで、手動でやったようにタスクバーのファイル名アイコンをクリックした

CTRLWIN(GETID("TeraPad"),MAX)
SLEEP(2)
CLKITEM(GETID("","Shell_TrayWnd"),"ファイル名",CLK_ACC or CLK_LEFTCLK) // ここで最小化できない

・ウィンドウの右上の最小化ボタンを押した

CTRLWIN(GETID("TeraPad"),MAX)
SLEEP(2)
CLKITEM(GETID("TeraPad"),"最小化",CLK_BTN) // ここで最小化できない

No.4373 2017/08/28(Mon) 06:49:14

Re: TeraPadの最小化がうまくいきません / たか
最初に可視状態にすることで機能させることにしました。

CLKITEM(GETID("","Shell_TrayWnd"),"ファイル名",CLK_ACC or CLK_LEFTCLK)
CTRLWIN(GETID("TeraPad"),MAX)
SLEEP(2)
CTRLWIN(GETID("TeraPad"),MIN)

No.4374 2017/08/29(Tue) 07:03:24
エバーノートでコピー、特定キー入力でサブライムエディター貼付け / ゆう
エバーノートでコピーして、特定キー入力でサブライムエディターに貼付けの処理を繰り返しします。下記のコードで処理はできているのですが、CPUが100%になり動作が遅いという問題点があります。おそらくwhile trueで無限ループしているからだと思いますがこれを他のコードに代用して動作を早くさせる方法ないでしょうか?

//メモリーが100%になり動作が遅い。
 id1=getid("Evernote Web")

 id2=getid("Sublime Text")

h = G_SCREEN_H / 2
w = G_SCREEN_W / 2

ACW(id1,0,0,w,G_SCREEN_H)
ACW(id2,w,0,w,G_SCREEN_H)
STOPFORM(FALSE)
sethotkey(VK_ALT, MOD_ALT, "proc")

while true
IFB GETKEYSTATE(VK_ALT)
ENDIF
wend


procedure proc
 id1=getid("Evernote Web")
 id2=getid("Sublime Text")

a=getstr(0)
sckey(id2, VK_RETURN)
sendstr(id2,a)
sckey(id2, VK_RETURN)
sendstr(id2,"---------------------")
Fend

No.4369 2017/08/26(Sat) 12:49:58

Re: エバーノートでコピー、特定キー入力でサブライムエディター貼付け / miles
無限ループのときは、sleepを入れましょう。
sethotkeyでALTキーのチェックしていれば、GETKEYSTATE(VK_ALT)はいりませんよ。

while true
//IFB GETKEYSTATE(VK_ALT)
//ENDIF
 sleep(1)
wend

No.4370 2017/08/26(Sat) 13:39:33

Re: エバーノートでコピー、特定キー入力でサブライムエディター貼付け / ゆう
miles様、回答ありがとうございます。 sleep(1)を入れた事でCPU率が一気に下がりました。
sleep(1)を入れるだけでここまで下がるとはオドロキです。

No.4371 2017/08/26(Sat) 15:33:54
タッチスクリーンを禁止する / タッチスクリーン
LockHardEX(0, LOCK_MOUSE) // マウス禁止
サンプルプログラムにはマウス禁止のコマンドがありますが、これと同じように
タッチスクリーン(タップしたりするの)を禁止する方法ってどなたか知りませんか。

No.4358 2017/08/25(Fri) 00:33:02

Re: タッチスクリーンを禁止する / satocha
MS謹製のDevConを使えばタッチスクリーンに限らず、どんなデバイスもスクリプトから自在にオンオフできそうです。

https://msdn.microsoft.com/ja-jp/library/windows/hardware/ff544707(v=vs.85).aspx

Windows標準でなく、インストールが必要というのが残念ですが。

No.4361 2017/08/25(Fri) 05:28:04

Re: タッチスクリーンを禁止する / タッチスクリーン
返答ありがとうございます。
デバイスを禁止するときに管理者権限は使わないようにしたいです。
LockHardEX(0, LOCK_MOUSE) // マウス禁止は
管理者権限が必要なかったですが、
これと同じようにしたいです。

No.4367 2017/08/25(Fri) 16:57:00

Re: タッチスクリーンを禁止する / タッチスクリーン
すいません。自己解決しました。
おすすめしてくださったdevconをインストールして
ttps://qwerty.work/blog/2015/03/wdkdevconbatcommand.php
でバッチを作り、
管理者権限で実行するファイルをパスワードを必要とせずに実行する方法
ttp://ch.nicovideo.jp/mashiroakira/blomaga/ar989196
で実質的に管理者権限なしでデバイスを禁止することができました。

回答ありがとうございました。

No.4368 2017/08/25(Fri) 19:46:14
IEのサイトとメモ帳とエクセルを開いている状態で特定のキーを押す事で特定の処理をさせる方法 / ゆう
下記のコードで文字をコピーしてNを押すとエクセルの最終行に貼付け、NキーでB列の最終行に貼付け、SHIFTを押すとIEのタイトルバークリック、ALTキーを押すとクリップボードに文字がなければ、メモ帳をクリック、クリップボードに文字があればコピーしたのを貼付けという処理をしたいのですが、クリップボードに文字がある状態でALTキーを押してメモ帳に貼付けした後、SHIFTを押してもIEのタイトルバーをクックする処理にならず反応がなく、クリップボードに文字がない状態でALTキーを押してメモ帳をクリックする処理にならず反応がありません。

スクリプト起動後、クリップボードに文字がある状態でALTキーを押さず、SHIFTキーやALTキーでのメモ帳クリックとかも問題なくできています。
エクセルの最終行貼付けは、問題なくできています。したい処理がクリップボードに文字がある状態でALTキーを押した後であっても、SHIFTキーやALTキーの処理させたいのですができません。
どこが間違っているのでしょうか?


excel2 = GETACTIVEOLEOBJ("Excel.Application")
o_sheet = excel2.ActiveSheet

yA = sub_getBlankRowNumber1a(o_sheet, 1)  //A列の現在行(空欄行)
yB = sub_getBlankRowNumber1a(o_sheet, 2)  //B列の現在行(空欄行)


while True
  sleep(0.2)
  
  ifb getkeystate(VK_N) then //VK_ADD
    x = 1
  elseif getkeystate(VK_M) then //VK_MULTIPLY
    x = 2
  elseif getkeystate(VK_SHIFT) then //メモ帳移動
sethotkey(VK_SHIFT, MOD_SHIFT, "proc2z")

  elseif getkeystate(VK_ALT) then //VK_MULTIPLY
  x = 3
sethotkey(VK_ALT, MOD_ALT, "proc1z")

  else
    continue  
  endif
  
      
 ss = GETSTR(0)
  ifb (ss <> "")  //クリップボードにある場合のみ処理する
    ifb (1 = x) then
      y = yA
    Excel2.ActiveSheet.Cells[y, x].Value = ss
    y = y + 1
      yA = y
    elseif (2 = x) then
      y = yB
      Excel2.ActiveSheet.Cells[y, x].Value = ss
      yy = y + 1
      yB = y
    elseif (3 = x) then
    SENDSTR(0, "") // クリップボードをクリア
else
continue
    endif
        
  endif
wend



procedure proc1z

a=getstr(0)
a=length(a)

if a=0 then
nID =GETID("無題 - メモ帳","Notepad")//ウィンドウ指定

MMV(STATUS(nID, ST_CLX)+STATUS(nID, ST_CLWIDTH)/2, STATUS(nID, ST_CLY)+STATUS(nID, ST_CLHEIGHT)/2)
else
ida = GETID("メモ帳")

MOUSEORG(GETCTLHND(ida,"edit"), 2)
tesa = GETSTR(0)
SENDSTR(ida,tesa+"<#CR>")
endif

fend

procedure proc2z

id1=getid("Internet Explorer")
x1 = status(id1, ST_x) + status(id1, ST_WIDTH) / 2
y1 = status(id1, ST_Y) + 10
btn(LEFT, CLICK, x1, y1)
fend


//下から上に探して最初の空欄がある行番号を返す
function sub_getBlankRowNumber1a(oSheet, iColumnNumber)
  dim i_bottomRow = oSheet.Rows.Count
  dim o_range   = oSheet.Cells(i_bottomRow, iColumnNumber)
  
  dim xlUp = -4162
  o_range = o_range.End(xlUp)     //Ctrl + ↑ と同じ操作
  
  ifb (empty <> o_range.Value) then  //空欄でなければ
    o_range = o_range.Offset(1, 0)  //一つ下のセル
  endif
  
  result = o_range.Row
fend

No.4346 2017/08/22(Tue) 23:37:45

Re: IEのサイトとメモ帳とエクセルを開いている状態で特定のキーを押す事で特定の処理をさせる方法 / miles
MOUSEORGを外したらどうですか?
SENDSTR(文字列の送信)だけなら、MOUSEORG(メモ帳に直接送る)はいらないでしょう。
その後のクリックも正常になると思う。

 ida = GETID("メモ帳")
// MOUSEORG(GETCTLHND(ida,"edit"), 2)
 tesa = GETSTR(0)
 SENDSTR(ida,tesa+"<#CR>")

No.4363 2017/08/25(Fri) 11:10:45

Re: IEのサイトとメモ帳とエクセルを開いている状態で特定のキーを押す事で特定の処理をさせる方法 / ゆう
miles様、MOUSEORG外したら希望通りの処理ができました。
難しく考えすぎていたようです。
ありがとうございます、助かりました。

No.4366 2017/08/25(Fri) 12:37:22
UWSC Pro版のEXE化のエラーについて / pokotan
UWSC Pro版の体験版でライセンス購入前にexe化で動作確認をしようとしてみたのですが、
-------------------------------------------------------
CREATEFORM/CHKIMG関数にて以下の取込みが出来ませんでした
CREATEFORM(CHARPATH + CHARACTER[INDEX] + ".html"
-------------------------------------------------------
と表示されました。
処理的にはマクロ自身でhtmlファイルを生成し、それを表示するというものです
これはexe化による仕様的なものでしょうか?

No.4362 2017/08/25(Fri) 10:29:21

Re: UWSC Pro版のEXE化のエラーについて / pokotan
もしかしてexe化は対象htmlとかも含めて内包しているのでしょうか…?
htmlを表示するだけのソースを作って動作を確認してみましたが、どうもcreateform呼び出し時に添付フォルダに該当htmlをexeから吐き出しているようなのでそうではないのかと

No.4364 2017/08/25(Fri) 11:12:41

Re: UWSC Pro版のEXE化のエラーについて / pokotan
過去ログ検索したら同様のやり取りがありました。お手数おかけしました
やはりセキュリティ的なものでしょうか?悪意あるサイトに飛ばしたり出来るとかで
次の更新でcreateformやchkimgをEXE化した時に変数による参照は出来ない等の旨を書いて貰えると有り難いです

ログ見てたらabout:blankで直接書き込む方法ならいけそうな気がするのでそちらでやってみます

No.4365 2017/08/25(Fri) 11:54:23
クイズ / satocha
クイズです。

下のスクリプトを実行すると何が表示されるでしょうか。実行せずに考えて、そのあと答え合わせしてみてください。

※エラーになって動かないと思った方、鋭いですが不正解です。

fukidasi("Quiz 1")
dim $abc[]="a","b","c"
for abc in $abc
 msgbox( abc )
next

fukidasi("Quiz 2")
dim abcd[]="a","b","c","d"
for $abcd in abcd
 msgbox( $abcd )
next

No.4352 2017/08/24(Thu) 16:06:45

Re: クイズ / stuncloud
ははー、なるほど
$defだといいけど$ghiじゃだめなやつですね

2は正解しましたが1は不正解でした
forinのときだけ配列として展開されるんですね、謎い…
// msgbox($abc) だと$abcが表示される
2のほうは
dim 1 = 2
と同じような感じですかね
面白いけどシンタックスエラーで落として欲しいかな


以下ぼくが以前見つけた配列ネタ

dim [] = "x", "y", "z"

for item in []
 print item
next

for i = 0 to length([]) - 1
 print [i]
next

No.4353 2017/08/24(Thu) 16:40:57

Re: クイズ / miles
最近気づいたこと
//UWSCサンプル
// IE にてファイルのダウンロード処理  #N58
id = GETID("名前を付けて保存", "#32770", 5)
if id < then Exit

これって エラーにならないし、then にもならないよね?

No.4354 2017/08/24(Thu) 17:30:49

Re: クイズ / しゅん
おおお。
PowerShellをよく使っててうっかりやりがちな話ですね。
Quiz1/2ともにヒントがあったので正解しました。

そういえば、3年ほど前にこんなクイズを掲示板に出して遊んでました。
http://d.hatena.ne.jp/junjun777/20140623/uwsc_bad_know_how_quiz

No.4356 2017/08/24(Thu) 18:56:41

Re: クイズ / stuncloud
> これって エラーにならないし、then にもならないよね?
右辺空はEMPTYで評価されるやつだ!
if id < EMPTY then
と同じ動作になります
どのみち(書いてないけど)elseに行きますね

# EMPTYが0と評価されてれば通ってけど別にそういう意図じゃなく単に書き漏れなんでしょうね…

No.4357 2017/08/24(Thu) 18:58:41

Re: クイズ / umiumi
エラーになるよう対処します。
No.4359 2017/08/25(Fri) 01:23:21

Re: クイズ / satocha
stuncloudさんのdim [] にはびっくりです。

しゅんさんのブログ、楽しく拝読しています(と、更新をおねだり)。
Q3は難しくて、苦闘中です。大勢の方が、正解されていて驚きました。

milesさんのif文右辺値省略も知りませんでした。

皆さん、使い込んでますね。

作者様の回答はどちらの話でしょうか。いずれにせよ、次の更新を楽しみにしています。

>面白いけどシンタックスエラーで落として欲しいかな
> これって エラーにならないし、then にもならないよね?

No.4360 2017/08/25(Fri) 05:23:45
整理したい / kuma
これを
井上 1
小川 1
下村 3
西村 1
西村 1
小川 3
小川 1

こうしたいです
小川 5
下村 3
西村 2
井上 1

よろしくお願いします

No.4348 2017/08/24(Thu) 04:14:32

Re: 整理したい /  
足せばいい。
No.4350 2017/08/24(Thu) 08:17:23

Re: 整理したい / satocha
足しただけではダメで並び替えないと。

数字が2ケタ以上のとき、数値順に並んでいることが確認できるように、データの数字を変更しました。

hashtbl h_data
for line in split( data, "<#CR>" )
 name =token(" ",line)
 point =val(line)
 h_data[ name ]=val(h_data[ name ] + point)
next

str=""
for ky in h_data
str =str+"<#CR>" + h_data[ky] + "," + ky + " " + h_data[ky]
next
ary =split(trim(str), "<#CR>" )
qsort( ary, qsrt_naturald )
str =""
for line in ary
 token(",",line)
 str =str+line+"<#CR>"
next
msgbox( trim( str ) )

textblock data
井上 100
小川 1
下村 83
西村 1
西村 1
小川 3
小川 1
endtextblock

UWSCは結構な行数になるけど、powershellでやるとかなりコンパクトになります。

msgbox( powershell( ps ) )
textblock ps
$data=@"
井上 100
小川 1
下村 83
西村 1
西村 1
小川 3
小川 1
"@|convertFrom-CSV -header "name","value" -delimiter " "
$sum=@{};$data|%{$sum.($_.name)+=($_.value-0)}
$sum.GetEnumerator()|sort Value -descending
endtextblock

No.4351 2017/08/24(Thu) 09:08:21

Re: 整理したい / kuma
ありがとうございます。
処理速度的に長い方にしました。

No.4355 2017/08/24(Thu) 17:58:45
LINEのメッセージを取得したい! / ano
まったくの初心者です。
PC用のLINEアプリから新しく着たメッセージを取得したいのですが、何かいい方法はないでしょうか?
ご教授いただけましたら幸いです。

No.4349 2017/08/24(Thu) 08:13:50
全1137件 [ ページ : << 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 114 >> ]