[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 02/12 04:32 / Filesize : 228 KB / Number-of Response : 702
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

AutoHotkey スレッド part5



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 15:48:16 ID:LAzeYh1N0]
(テンプレ>>1)
■公式
www.autohotkey.com/

■解説
AutoHotkeyを流行らせるページ
lukewarm.s101.xrea.com/

■過去スレ
1 pc7.2ch.net/test/read.cgi/software/1098531338/
2 pc7.2ch.net/test/read.cgi/software/1129836713/
3 pc11.2ch.net/test/read.cgi/software/1157043396/
4 pc11.2ch.net/test/read.cgi/software/1184556627/

関連リンク>>2以降も参照

401 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 16:47:46 ID:IvDj1tasP]
覚えたらeやん

402 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 17:49:22 ID:IwMCZKAQ0]
つくしが引っ込んだぞ、おい

403 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 19:31:49 ID:zWjQS3cI0]
ゴメン

404 名前:名無しさん@お腹いっぱい。 [2008/04/06(日) 21:06:22 ID:FTx5YlaY0]
神様
あるウィンドウがクリックされた時に、
そのウィンドウにあるメニューバーの特定のメニュー項目がdisabledならば、
クリックされなかったことにしてreturnしたいのですが、
どこかにサンプルなどないでしょうか。

たとえばIEがクリックされた時、IEのメニューバー->編集(E)->コピー(C)が
disabledならクリックイベントが発生しないようにしたいです。

エロかっこいい神様、どうかおながいします。

405 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 21:25:26 ID:nrvmy2DX0]
コピー限定だけど、Disableかどうかにかかわらずとりあえず実行して
クリップボードが変更されたなら実行、そうでないなら放置、でいいのでは。

406 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 21:34:22 ID:FTx5YlaY0]
例は、分かりやすく書いただけなので、「コピー」とは別物です。
フックとかしないとだめなんでしょうか。

エロカッコいい神様、どうかおながいします。

407 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 21:47:07 ID:JhcN1jbX0]
>>404
サブクラス化

408 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 23:24:36 ID:FTx5YlaY0]
サンプル見つけました。
www.autohotkey.com/forum/topic21451.html
エロスさまどうもあらがとうごあいまさた。

409 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/07(月) 23:41:05 ID:TGYHX9Tn0]
$^f::Send {Right}
として、MS Word 上で ^f のキースクロールをくりかえすと、
たまに (数百回に一回ぐらい) Ctrl-F が入力されてしまうんだけど、
こんなもんなのだろうか?

^v::Send {PgDn}
でも Ctrl-V が入っちゃう。Sleep を入れるともっと悪くなるよ orz





410 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 01:04:03 ID:IhpfBzS20]
AutoHotkeyでも、こういうソースコードっぽいソースを書く人もいるんだな

411 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 07:59:06 ID:BaKIsNaN0]
素人質問ですが、教えてください。

@ ;右クリック+ホイール↓ = タスク切り替え
  ~MButton & WheelDown:: AltTab

  ;右クリック+ホイール↑ = タスク切り替え(逆順)
  ~MButton & WheelUp:: ShiftAltTab

A ~MButton & WheelDown:: AltTab

   ~MButton & WheelUp:: ShiftAltTab

@の方法で記述すると、ダイアログにアイコンが表示されるんですが
Aだと表示されず、中央ボタンを押したらアプリが切り替わります。
ですのでホイールの意味がまったくないんです。
どこが違うんでしょうか?Aでも@のような操作がしたいんですが。

412 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 08:00:03 ID:BaKIsNaN0]
@のMButton→RButtonに置き換えてください。

413 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 14:24:21 ID:AbWtGmV70]
IMEが入力中かどうかを判別する方法はありますか?
変換や確定のSpace,Enterとそれ以外を分けたいんです。

414 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 16:01:49 ID:/9Ax63ok0]
IME状態を得るのなら探せば幾つか・・と即レスするところだった。
MS-IMEやATOKがはたらいているかどうか、見るスクリプトは見たことないなぁ。

415 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 16:52:37 ID:225eMm8v0]
OnかOffかという状態をみるだけならなんとでもなるんですけどね…

416 名前:414考え中 mailto:sage [2008/04/08(火) 18:36:01 ID:/9Ax63ok0]
AutoHotKey Threadの>>591で言われているPixelSearchを
実際に使ってみた。やれないことはなさそう。>>413

;0XC56A31 ←ATOK変換時の色(青) 0XFFFFFF ←未確定時の色(真っ白)
X2:=A_CaretX + 5
Y2:=A_CaretY + 1
PixelSearch, Px, Py, A_CaretX, A_CaretY, X2, Y2, 0X0F0400 ,0
if ErrorLevel = 0
IMEFlag=1
Msgbox, %IMEFlag%

417 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/09(水) 00:48:40 ID:8oDip4ta0]
>>413に書いてある内容だけ実現したいなら、
"窓使いの憂鬱が"の方が向いている
だが、Vistaだと厳しいな

418 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/09(水) 02:52:04 ID:CYoGSIzg0]
AutoHotkey から Text Services Framework (TSF) は使えないのだろうか?

419 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/09(水) 21:39:19 ID:Y/Kzcbh10]
最近いじり始めたばかりだが
マウスジェスチャの動作書くのって
素人じゃ難しいかな?
どっかに詳しく書いてあるといいんだが。



420 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/09(水) 22:30:24 ID:j0FC8OmH0]
>>419
マウスジェスチャならはやらせるページの作者がかなり高性能なものを作ってくれてる
それをいじるなり参考にするなりすべし

421 名前:419 mailto:sage [2008/04/09(水) 23:30:39 ID:Y/Kzcbh10]
一応それ入れて中見てみたけど
もう自分にはチンプンカンプンでした。
a::bみたいな簡単には行かないんですね。

422 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/10(木) 22:18:00 ID:R9AZZFcs0]
RButton →←::〜
みたいな書式なら楽だな

ってか、マウ筋みたいだ

423 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/10(木) 22:35:21 ID:Z+zxLkTQ0]
マウ筋をAHKに移行したいのだがマウ筋でつくった設定が膨大すぎてやる気が起きんw

424 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/10(木) 22:39:41 ID:Ys36v7eM0]
ttp://www.ms.u-tokyo.ac.jp/~abenori/diary_old/200707.html#200707180
こんなんあるな

はやらせるページに比べたらはるかに低機能だが

425 名前:419 mailto:sage [2008/04/10(木) 23:29:26 ID:zeB47hBY0]
>>424

これは具体的にどうすればいいんでしょう?

ラベルで振り分けるようにしてみました.
マウ筋 に近い挙動にしたつもり.これをincludeして,
設定ファイルにはMG_****(****にはジェスチャの動作を入れる)なるラベルを書けばいいです.
プログラム名とかも指定できて,次のような感じ.

426 名前:419 mailto:sage [2008/04/10(木) 23:30:29 ID:zeB47hBY0]
include?
設定ファイル?
ahkに上の文章を書き込むだけじゃダメ?

427 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 03:08:21 ID:uA7AvC520]
自分で試行錯誤できないなら止めとけよ。


428 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 18:19:46 ID:Pc4g0Pb20]
::無変換+E
~vk1Dsc07B & e::Edit
こんなんやってるんだけどIMEオン時にひらがな、カタカナ、半角カタカナと切り替わるんだけど
この切り替わるのを無効に出来ないですか?


429 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 22:53:50 ID:JQHzlaNh0]
>>428
IME側の設定を変えるのが良いかと思う



430 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 23:30:02 ID:1LAD2LgE0]
~消して、IMEがOnかOffかを調べてOnだったら無変換送らないようにするとか

431 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 23:57:14 ID:8JtpLxde0]
>>429
あーそこ忘れた。
ありがとう

430もありがとう


432 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 13:59:42 ID:QOZL0eII0]
メインスクリプトAとサブスクリプトBがあって、それぞれ共通の変数cを使いたいんだが
いわゆる戻り値という形で変数を使いたい場合はどのようにすればいいかな?
今はその方法がわからないので、iniに読み書きすることでどうにか対応してるけど
もっとスマートな方法があったら教えてくれないか
一応スクリプト晒す

A
;回数入力-確認
;c ループ回数
runwait B.ahk
iniread,lc,ahk.ini,変数,c
msgbox,ループ回数 %c%

433 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 14:02:29 ID:QOZL0eII0]
つづき

B
;回数入力
;d ループ回数
loop
{
inputbox,d,回数入力,繰り返す回数を入力(1-999)
;Cancelを押した場合
;iniに0を書き出してmsgbox出してループ脱出終了
if errorlevel<>0
{
iniwrite,0,ahk.ini,変数,c
msgbox,終了します
return
}
;1〜999の数字を入力した場合
;iniにdを書き出してループ脱出終了
if d between 1 and 999
{
iniwrite,%a%,ahk.ini,変数,c
return
}
;1〜999以外の数字を入力した場合
;msgbox出してループ戻り
else
msgbox,回数は1-999の間で入力
}

Bはいろいろなスクリプトで使いまわしたいので
それぞれ独立した形でどうにか実現したいんだ・・・

434 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 17:55:30 ID:KChtUcd/0]
Bを関数化して汎用ライブラリにすりゃいいんじゃないの?
AなりCなり好きなメインスクリプトから Includeして使えばいい

435 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:07:32 ID:dzf8gFoh0]
>>434
(・∀・)デキター
どうもありがとう

436 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:34:07 ID:fqJFcYl60]
このスクリプト(ttp://tryhost.net/~catwalk/?AutoHotKey%2FScript%2FFavoriteFinder#k2e37617)
動いている人いますか?

こちらでは

Error at line 94.

Line Text: List %FAV_DIR%
Error: This line does not contain a recognized action.

The program will exit.

というエラーになってしまうんですが。

437 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:44:44 ID:nEMDvuYT0]
そんな行はないぞ。手を入れてないか?

438 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:46:22 ID:xXoSaRM/0]
変数内の文字列で条件分岐したいのですが、
Tabってどうやって検索すればよいのでしょうか。
\tでも`tでもないんですね。

439 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:54:27 ID:fqJFcYl60]
>>437
FavoriteFinder.ahk の94行目を global List, FAV_DIR に変更したら一応動いたんですが
リストが取得できていないようです。

手を加えたのは12行目のMigemoOpenのところだけです。



440 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 01:01:28 ID:tiSAGbZG0]
>>438
%A_Tab%

441 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 07:48:16 ID:pTaNcO/h0]
;; EBWinで辞書検索
#s::
clipboard=
Send,^c
ClipWait
SetEnv,word,%clipboard%
run,C:\applications\EBWin\EBWin.exe /C=1 /S=%word%
return

442 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 08:27:20 ID:BPEkA5hT0]
>>439
気になったので調べてみたよ。

Files = %Files%%fn%`n

ret = %ret%%FAV_DIR%%item%.url`n



Files := Files . fn . "`n"

ret := ret . FAV_DIR . item . ".url`n"

に変える。

`nが何故か消えちゃって全部つながっちゃうのが原因だったみたい。AHKのバグなのかな??
しかし、作者さんの言うように検索がどうもうまくいかないみたい。

443 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 08:48:06 ID:BPEkA5hT0]
訂正:

ret = %ret%%FAV_DIR%%item%.url`n

の方は修正しなくても大丈夫みたい

444 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 15:59:55 ID:pTaNcO/h0]
>>442-443
ありがとうございます。

まだ使い始めたばかりなんですが色々できて面白そうですね。

445 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/18(金) 01:51:41 ID:4Mol9YLc0]
Send系で、^や+等の特殊キーやアルファベットの大文字等のShiftを押しながら入力する文字が化けることってない?
^vで貼り付けをしたはずが単にvだけだったり、括弧()を入力したはずが89になったりとか…
Delayの値を増やしても時々発生するしバグなのかな

446 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/18(金) 09:22:21 ID:Tx6njfDx0]
>>440
助かりました。ありがとうございます。

447 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/18(金) 18:10:02 ID:VCKaK5TL0]
;Mac用ユーティリティ Smart Scroll X にlogiマウスのフリースピンっぽいことができるスクロールに慣性つける機能があるけど
;Win用ユーティリティでそれができるものがたぶんないと思うので作ってみたがが・・できたものは別物orz

;ホイールを速く回せば連続スクロールに変わり逆回転で止める(連続スクロール中に速度を変えることもできない・・
~WheelDown::
Wheelstate:=1 ; スクロールUpの停止条件
If (A_EventInfo > 2) ; ホイールの速度が設定値を超えると連続スクロール
Loop, 100 { ; 暴走対策・・
Sleep, 30 ; スクロール速度調整用のウェイト
Acceleration:=A_EventInfo*A_EventInfo*A_EventInfo ; スクロール加速度・・とりあえず3乗してみた
Loop,%Acceleration% {
if (Wheelstate=0) ; WheelUpが入力されるとスクロール停止
return ; breakしないでもいいんだろうか?
send,{WheelDown}
}}
return
~WheelUp::
Wheelstate:=0 ; スクロールDownの停止条件
If (A_EventInfo > 2)
Loop, 100 {
Sleep, 30
Acceleration:=A_EventInfo*A_EventInfo*A_EventInfo
Loop,%Acceleration% {
GetKeyState, Wheelstate, WheelDown
if (Wheelstate=1) ; WheelDownが入力されるとスクロール停止
return
send,{WheelUp}
}}
return

; これをもっとまともにできないだろうか・・?

448 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 01:18:50 ID:BmW3iOlc0]
~WheelUp::以下の
GetKeyState, Wheelstate, WheelDown
を消し忘れてた・・・それ以前の問題だろうけど・・

449 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 02:31:09 ID:iBWV1p7A0]
1) スクロール速度用の変数をグローバル変数でもつ
2) ホットキー設定では、スクロール速度の変数だけを操作して、何も送信しない("~"はつける)
3) タイマで一定のサブルーチンがコールされるようにする
4) 3)で呼ばれるルーチン内で指定の速度分のスクロールをPostMessageで利用して送る
ex) PostMessage,522,%wParam%,%lParam%,%cls%,ahk_id %hwnd%

って感じかなぁ。
トラックポイント派なので検証できず。



450 名前:名無しさん@お腹いっぱい。 [2008/04/19(土) 15:49:36 ID:7DcoF6RP0]
zを押したら
jとvをタイプしてくれるようにするには
どう書けばいいのか教えてください

451 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 16:07:29 ID:7DcoF6RP0]
::send,jv

452 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 19:35:50 ID:kQy+E4pv0]
なまず日記が復活して、楽しみにさかのぼって読んでたら・・・
もう面白いスクリプトは書いてくれなさそうで残念だ。

453 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/20(日) 06:21:20 ID:QN2yrlSL0]
>>449
よくわからなかったが・・それらのキーワードをヒントに調べてみると
どうやら>>1のなまず日記の中で(3)(4)らしいことやってるようなのでそのあたり参考(むしろパクリつつ)作り直してみた・・・
1;
#Persistent
#MaxHotkeysPerInterval 300
FreeScroll("init",0) ; タイマ0でないと遅くなる・・
FreeScroll("setDefault",1.5,120,1) ; 加速度"1.5",最小スクロール幅"120",スクロール開始速度"1"
return
WheelDown::
FreeScroll("down")
return
WheelUp::
FreeScroll("up")
return
FreeScroll(dir = "", param1 = "", param2 = 0, param3 = 0)
{
static WheelDownCounter ; down方向のホイール割り込み回数
static WheelUpCounter ; up方向のホイール割り込み回数
static Acceleration ; スクロール加速度
static MinimumScrollValue ; 最小のスクロール量(1ノッチ
static FreeScrollSpeed ; 連続スクロールに切り替えるホイール速度
global FreeScrollState ; 連続スクロールの状態 0=通常スクロール,1=連続スクロール開始フラグ,2=連続スクロール中
global ScrollValue ; スクロール量(速度)
global cntrl ; スクロールコントロールウィンドウ?
if(!dir){
if(WheelDownCounter || WheelUpCounter){ ; ホイール入力があったとき
CoordMode,Mouse,Screen
MouseGetPos, posX, posY, window , cntrl, 3 ; PostMessageのために位置とウィンドウを取得
; WinActivate, ahk_id %window% ; ホイールでウィンドウをアクティブにする・・しかしスクロールがガクガクになる

454 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/20(日) 06:21:52 ID:QN2yrlSL0]
;2
ScrollValue := Round((WheelDownCounter ** Acceleration) * MinimumScrollValue * -1) ; スクロール量の計算
ScrollValue := ScrollValue + Round((WheelUpCounter ** Acceleration) * MinimumScrollValue) ; スクロール量の計算
Critical
WheelDownCounter = ; ホイールDownカウンタをリセット
WheelUpCounter = ; ホイールUpカウンタをリセット
Critical, Off
Gosub, FreeScrollCheck ; 条件が面倒なので外に出した・・
}}
else if(dir == "init"){ ; 初期化
Critical
if(!Acceleration)
Acceleration = 1.5 ; 1で加速なし
if(!MinimumScrollValue)
MinimumScrollValue = 120 ; アプリによってはこれより低いとスクロールしないらしい
if(!FreeScrollSpeed)
FreeScrollSpeed = 1 ; 大きいほどスクロール切り替えに要する速度が速くなる
Critical, Off
if(!FreeScrollState)
FreeScrollState = 0 ; タイマ0でないと遅くなる・・
if(!param1)
time = 0
SetTimer, FreeScrollHandler, %time%
}else if(dir == "setDefault"){ ; Defaultの設定
Critical
if(param1 != 0)
Acceleration = %param1%
if(param2 != 0)
MinimumScrollValue = %param2%
Critical,Off

455 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/20(日) 06:22:17 ID:QN2yrlSL0]
;3
if(param3 != 0)
FreeScrollSpeed = %param3%
}else if(dir == "down"){
WheelDownCounter++
if(WheelDownCounter > FreeScrollSpeed && FreeScrollState == 0) ; 連続スクロールのホイール速度取得
FreeScrollState := 1 ; 連続スクロールの開始フラグ
}else{
WheelUpCounter++
if(WheelUpCounter > FreeScrollSpeed && FreeScrollState == 0) ; 連続スクロールのホイール速度取得
FreeScrollState := 1 ; 連続スクロールの開始フラグ
}
if(ScrollValue == 0) ;スクロールしないときは終了。これがないとスクロールバーがアホになる・・
return
WinGetPos,winX,winY,winW,WinH, ahk_id %cntrl% ; コントロールの真ん中の座標・・?
if(posX == "")
posX := winX + winW // 2
if(posY == "")
posY := winY + winH // 2
wparam := (posY << 16) | (posX & 0xffff)
lparam := ScrollValue << 16
PostMessage, 522, %lparam%, %wparam%, , ahk_id %cntrl%  ; メッセージを送りスクロールする
if(FreeScrollState == 0) ; 通常スクロールのときはメッセージを送ったあとスクロール量をリセット
ScrollValue := 0
sleep,20 ; 増やすとスクロールは荒くなるが重いウィンドウでのスクロール停止が早くなる
return
}
FreeScrollCheck:
{ ; 通常スクロール以外の条件分岐
if(FreeScrollState == 0) ; 通常スクロールならさっさと抜ける

456 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/20(日) 06:23:08 ID:QN2yrlSL0]
;4
return
if(FreeScrollState == 2 && FreeScrollValue > 0 && ScrollValue < 0){ ; 連続スクロールUpをWheelDownで止める
ScrollValue := 0
FreeScrollValue := 0
FreeScrollState := 0
return
}
if(FreeScrollState == 2 && FreeScrollValue < 0 && ScrollValue > 0){ ; 連続スクロールDownをWheelUpで止める
ScrollValue := 0
FreeScrollValue := 0
FreeScrollState := 0
return
}
if(FreeScrollState == 1 && ScrollValue != 0){ ; 連続スクロール開始時
FreeScrollValue := ScrollValue ; FreeScrollValueは連続スクロールの方向を保持しているような・・
FreeScrollState := 2
return
}}
FreeScrollHandler: ; タイマハンドラ FreeScroll()コールするだけ
{
FreeScroll()
return
}

長くなってしまった・・
スクロールがガクガクならずにホイールでウィンドウをアクティブにするにはどうすれば・?
他にもなにかあれば・・

457 名前:409 mailto:sage [2008/04/23(水) 22:41:57 ID:FJVhdogM0]
$^f::
BlockInput On
Send {Right}
BlockInput Off
return

としたら >>409 の問題現象が出なくなった。こんなもんで良いのだろうか…
AHK Version 1.0.47.06

>>445
同じ問題のように思えるので、BlockInput を追加して試してみてくれるとうれしいな。

458 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 01:39:30 ID:TGEhJA8Z0]
エクセルの永遠のテーマである
「入力」モードから、「編集」モードに行く時、
F2押さないと、移行しないっていう面倒な仕様。。

ぐぐるとみんなあの仕様にイライラしてて
でも解決策ないみたいで。

autohotkeyなら、
入力開始したら、左下ステータスの文字を判定して、すぐ編集モードに移るのができそうな気がして。

もし「超々々々々」気が向いたら、誰かあの仕様を回避するスクリプト書いてくれませんか

459 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 14:50:06 ID:6JZuf2bE0]
F1ヘルプさえヌッコロしとけばF2編集は別に苦痛じゃない。
Windows標準ショートカットなので慣れれば忘れることもそうないし。



460 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 16:31:27 ID:LWYvIa7f0]
F2の何が面倒なんだ?
選択項目編集としては標準キーバインドじゃん
せいぜいF2から他のキーに変えたいなら分かるが

モード移行は自覚的に行いたいし自動的に
編集モードとかのほうが糞仕様だと思うが

461 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 16:51:19 ID:4OSW5I0L0]
Vimのノーマルモードくらい非編集時に英数字キーに機能が割り当てられているわけではないし、
こういった直接入力の要望が出てくるのはそんなに不自然なことではないと思うけど…

作ってやれよと言うつもりは毛頭ないけど、なんでも頭ごなしに否定するのはどうなのさ。

462 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 18:02:31 ID:GNgnzel70]
Ctrl+何かにF2を割り当てるような定義じゃ駄目なのか、それほどせっかちさんなのか

463 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 18:07:54 ID:fR4TStBp0]
セルを上書きしたい場合は、一度内容を消すのかな?



464 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 18:13:59 ID:4hZaxx9B0]
AHKで、エクセル中は無変換キーあたりをF2に割り当てたらどうよ?

465 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 05:57:30 ID:reBjcHgv0]
>>458 うちの会社はこうだが、何をぐぐったんだ?みんなってお前一人だろ。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
SendKeys "{F2}"
End Sub

466 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 12:08:52 ID:SAJE0Db70]
Vistaに導入する際に、UACは特に気にせずインスコしても動きますか?
導入時の注意事項があれば教えてください。

又、mousegesture.ahkをVistaで使ってる人、問題点などないでしょうか?

467 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 12:24:34 ID:UjhgWZ4K0]
CUIのツールが標準出力に吐き出した値を拾って
ahkのGUIでその数値を加工して表示し隊のですが
どうすれば標準出力から拾ってこれますか?

468 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 14:28:05 ID:KqItUE2c0]
スレチだけど、Windows Script HostとかPowerShellを使うほうがいいような

469 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 15:46:22 ID:Bwb7i5Fk0]
>>467
そのCUIのツールは、リダイレクトで結果をファイルにはき出させて、
AHKからそのファイルの中を見る
とか・・・



470 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 16:51:32 ID:ARGm8jsa0]
>>466
基本、あまり問題は起きない。
マウスジェスチャもつかえる。

でもこれまで遭遇した問題は、
ホットキーをランチャーがわりにして、
メッセンジャーを立ち上げようとしたときにものすごいディレイがあるとかだったかな・・・・

とりあえずオフにしてる。

471 名前:466 mailto:sage [2008/04/28(月) 17:56:50 ID:mttKTXzzO]
>>470
ありがと。勢いインスコしてみたがmousegesture.ahkは問題ないみたい。
会社のXPマシンと、ウチの旧XPマシンで2ヵ月ほど前にmousegesture.ahkを導入したらマウスジェスチャ無しで操作するのが厳しくなっちゃって…。
1年程前に買ったVistaマシンはフリーソフトで汚さないwって決めてたんだけど、マウスジェスチャできないから旧マシンを使う頻度の方が高くなっちゃってたんですよ。
これで快適にVistaが使えます。

472 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 19:26:29 ID:UjhgWZ4K0]
>>468,469
ありがとうございます
こういう用途にはahkは向いてないみたいですね
おとなしく標準出力以外の出力方法があるソフトを探すか
他のスクリプト言語に切替えます λ..........トボトボ


473 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 21:32:35 ID:w8H8giGfO]
規制中なので携帯から簡単に。
cmdret.dllを使うと楽。

474 名前:467 mailto:sage [2008/04/29(火) 00:23:17 ID:TKo6PHKn0]
>>473
おお、こういうのがあるんですね
Forumのサンプルコード見ながら頑張ってみます
ありがとうございました

475 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/30(水) 23:31:11 ID:ZElAylVP0]
AHKでコンパイルした実行ファイルを2つ起動していると、
片方で#IfWinActiveが効いた瞬間にもう片方が動作
しなくなってしまうのですが、なぜでしょうか。
Reloadすると動作するようになるのですが、いちいち面倒です。

476 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/01(木) 19:30:50 ID:Fgucx+QS0]
Menu, Showで表示させたメニューなんですが、
キーボードでEscapeキーを押すと消えてくれますが、
Send,{Escape}で消えてくれません。解決策はあるでしょうか?

477 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/01(木) 20:13:18 ID:agwV3sli0]
>>476
別のAHKスクリプトからじゃないと消せないんじゃないだろか。

478 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/01(木) 20:59:51 ID:/6hzVxqK0]
{ESC}
でいいんじゃまいか

479 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/02(金) 00:25:36 ID:Q776ljbS0]
>>465
そのVBAは矢印キーでセル移動するだけで必ず編集modeになるな
酷すぎるw



480 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/02(金) 05:19:12 ID:34mNTVls0]
AHKスレらしくエクセルのdll呼び出してずばっと解決してくれる神はおらんのか?

481 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/03(土) 09:23:38 ID:4YTov+QA0]
>>458
ttp://www11.axfc.net/uploader/20/so/He_97006.zip DLKey=ahk
あまり試してない。
古いExcel使って試したから新しいExcelだとだめかも。(Excel 2000使用)

編集状態のままセル移動のオマケ付き。
Excelって、テキストデータの切り貼りとか整形ぐらいで たまにしか使ってなかったから
編集状態維持したままセル移動出来ないの知らんかった。

設定はエディタで編集して。

482 名前:481 mailto:sage [2008/05/03(土) 10:39:01 ID:4YTov+QA0]
バグってた
ttp://www11.axfc.net/uploader/20/so/He_97019.zip DLKey=ahk

483 名前:名無しさん@お腹いっぱい。 [2008/05/03(土) 15:49:27 ID:cnmVYKra0]
ウィンドウを垂直方向・水平方向それぞれに
最大化・リストアのトグルをするには
どうすればいいでしょうか?
窓使いの憂鬱でいうところのWindowVMaximize,
WindowHMaximizeを実現したいのですが・・・

484 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/03(土) 20:16:23 ID:8H08QxQU0]
WinGetPosで直近のサイズを取得してクラスやタイトルと一緒に保存、
WinMoveで縦なり横なりを最大化したサイズに変更
戻す時は直近のサイズをまた取得してどちらかがマックスだったら
保存してあるサイズに戻す、とか

485 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/03(土) 21:30:24 ID:g1xl/KBL0]
>>458 出てこい。つか、>>482でも動かない希ガス。

486 名前:481 mailto:sage [2008/05/03(土) 21:45:23 ID:4YTov+QA0]
思い付きで機能追加しまくったんで使いもんにならなくなってた。
ttp://www11.axfc.net/uploader/20/so/He_97128.zip DLKey=ahk

・日本語入力確定の為に[Enter]押しても次のセルに移ってしまう。
・「編集開始1発目のキーが [BS]か[Del]でセルクリア」が不完全。
・[F2]自動モードOff時は「[BS]か[Del]でセルクリア」もOffにした。
・[F2]自動モードをOffにした時、[F2]のホットキーまでOffにしていたので、[F2]で
 編集モードに入った時、「自動でカーソル位置の変更」が機能しなかった。

Excel2000しか試せないからExcelのバージョンによって挙動が違う場合は正直お手上げ。

>>485
全く機能が働かないならバージョン違いによる可能性大。

487 名前:481 mailto:sage [2008/05/03(土) 22:15:29 ID:4YTov+QA0]
Excelのバージョン違いによるタイトル違いの可能性を忘れてた。
125:SwitchMode:
126:  Hotkey,IfWinActive,Microsoft Excel -  <-ここが違うと全部だめ
127:  SetHotKeys(Excel_Label,Excel_HotKeys)

あと、設定にあるクラス名が一致してれば ある程度は動くはず。

488 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 00:13:11 ID:dJtYYrWj0]
斜め黄泉のおっさんですがDLLを1つ作成して
WH_KEYBOARDをグローバルフックをしたらいいとおもうよ
www.kumei.ne.jp/c_lang/sdk2/sdk_161.htm
www.autohotkey.com/forum/topic19367.html

489 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 00:18:30 ID:Jy+nA7+u0]
>>486

458じゃないですが、いただきました。

Excel2000と2003で今のところ問題なし。というほど色々弄くってはいないけど・・・
便利ですねー。今まで無変換キーにF2を割り当てていたのだが、これ使おうかなぁ。
ただ、AHKのスクリプト3つ(内1つはMousegesture.ahk)走らす事になるからちと悩みどころ。
とりあえず様子見てみます〜。






490 名前:481 mailto:sage [2008/05/04(日) 00:47:24 ID:35cVLblb0]
>>488
それ作りはじめに思った。
全文字キー1個1個打ちながら、こんなのタイマー回してExcel見つけたらスレッドフック
かけちった方がはえーなって。処理する必要ないときはスルーすれば済むし。

>>489
2003はOKと。報告d。
#Includeで他のスクリプトのケツに読み込んで、このスクリプトの1番上に適当なラベル名を
付けて、他のスクリプトの起動時にGosubで呼び出せば多分問題なく使えるとおも。

491 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 18:44:02 ID:jcnqkmNH0]
Shift+テンキーの「.」でカンマ「,」を出そうとしていますが
+NumpadDot::,
と記述してもDelete(デフォルトの動作)になってしまいます。
どうすればよろしいでしょうか、お知恵を拝借したいです。

492 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 18:44:52 ID:cGN/EYVF0]
NumLockオフったら

493 名前:名無しさん@お腹いっぱい。 [2008/05/04(日) 22:34:17 ID:ydz3yyO/0]
Spaceと数字のコンビネーションでプログラムを実行しようと
下のように書いたのですが、単にSpaceを入力するとき
キーリピートが利きません。
キーリピートが利くようにはできないでしょうか?

Space & 1:: Run, "c:\path\to\exe"
~Space:: Send, {Space}
~*Space:: return

494 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 23:44:10 ID:KBkpDPw80]
~Space & 1:: Run, "c:\path\to\exe"
だけでいいだろ

495 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 00:34:26 ID:tOYYOoT+0]
>>494
ありがとうございます。できました。
が、当たり前かもしれませんがSpaceを押して1を押す前の間に
Spaceが入力されてしまうんですね。
Spaceを押して直後に1が入力されればSpaceはモディファイアのように働き、
何も入力されなかったときだけSpaceを入力するようにはできますでしょうか?

496 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 01:10:00 ID:Tkv85+Ez0]
なんでSpaceなんて一番使用頻度の高いKeyを修飾keyとして使うという発想が沸くのかが疑問だ…。

497 名前:名無しさん@お腹いっぱい。 mailto:age [2008/05/05(月) 02:14:41 ID:9F1eIESU0]
今Windows標準のデフラグソフト「ディスク デフラグ ツール」を起動させてCドライブの
デフラグが終わったら表示されたウィンドウを閉じて次に自動的にDドライブのデフラグを開始
させるような一見簡単そうなスクリプトを組んでいます。Windows標準のデフラグが2つ同時
や1個目終了ご2個目等のように実行できない為、退席時間が長い場合に有用だと思っています。
スクリプトを晒します。
#persistent
run, %SystemRoot%\system32\dfrg.msc, C:\WINDOWS\system32
;sleep, 2000
setKeyDelay, 200
SetTitleMatchMode, 2
;ifWinActive, ahk_class MMCMainFrame
winWaitActive, ahk_class MMCMainFrame
{
send, {TAB}{SPACE}
}
;winWaitActive, ahk_class #32770
winWaitActive, , 最適化が完了しました
{
msgbox, ココまできたよん
sleep, 500
send, {ALT DOWN}C{ALT UP}
sleep, 200
mouseClick, LEFT, 80, 116
sleep, 200
send, {TAB 2}{SPACE}
}
今のところこんな感じなのですが、どおおおおおおしてもCの最適化終了後の「最適化が完了しました」
ウィンドウをwinWaitActiveで取得できません!ahk_class指定してもダメだし(ahk_class #32770)
ウィンドウタイトルは本体のデフラグと全く同じタイトルなのでいきなり判定されてしまうし、
ウィンドウテキストでチェックかけても取得できず。 lukewarm.s101.xrea.com/commands/WinWaitActive.html を
見てみるとWinTitleとWinTextぐらいでしか指定できないみたいで、打つ手なしと言う感じです。
いくら試行錯誤しても解決できません・・・。ご教示よろしくお願い致します・・・。

498 名前:名無しさん@お腹いっぱい。 [2008/05/05(月) 02:38:52 ID:tOYYOoT+0]
>>494
一番使用頻度が高いので大きくて押しやすくなっているからです。
AHK自体いじり始めたばかりなのですが、
すばやく操作するのに便利かと思いやってみよう思いました。
やはり何らかのモディファイアとのコンビネーションに
するしかないでしょうか?

499 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 02:59:29 ID:3X2C+hLq0]
スペースと1では、間違えて意図しないときそれが作動してしまいそうだなあとすごく思いますよ



500 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 03:05:06 ID:3X2C+hLq0]
>>497
Diskeeper+uwscで似たようなことをやった例
ttp://blogs.yahoo.co.jp/uwsc_script/31027984.html






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<228KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef