Luna BBS

ウェブブラウザLunascapeの掲示板です。

お気に入りの保存は独自の場所へ「名前を付けて保存」を!

感想や雑談。
※このフォーラムは終了しました。

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by soukou » 2010年2月15日(月) 11:39

teruさん

teruさんは2009年8月19日時点では少なくとも①:OKということで
投稿されたのではなかったのですか?

このトピックの2009年8月19日(水) 15:25の記事ではteruさんと思われる方が以下のように言われていました。

ゲスト さんが書きました:でけたー!!
情報提供ありがとうございます。
むふふ。これであんな事やそんな事が。。。
さぁーて、MyLunaには色々めーれーしちゃうからね!

お礼に、こんなのどぉ?
ワンクリックで[Alt]+[A]+[M]+[F]+[F]+[O]
SendAMFFO.vbs
(以下省略)

前後の流れから、上記の投稿者である"ゲスト"さんはteruさんだと思っていました。
soukou
 
記事: 360
登録日時: 2009年10月16日(金) 11:16
お住まい: 神奈川県

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by AO_o10yan » 2010年2月15日(月) 12:42

soukouさん、teruさん
横から口出し、申し訳ありません。

「スクリプトの機能が使えない」
viewtopic.php?f=70&t=2977&start=0
のトピックに書き込みをしたAO_o10yanと申します。
あちらのトピックでSendAMFFO.vbsについて書いた、フォーカスの件は試して
いただけたでしょうか。

私の推測では、スクリプト起動時にフォーカスが何処にあるかで、キーを送る動作に
違いがあると思います。

サイドバーの「お気に入り」や「設定>スクリプト」から実行する際は
メニューバーにフォーカスが無い為、先ずAltキーを送ってメニューバーにフォーカスを
当ててからAMFFOを送るのが正解だと思います。
しかし、メニューバー上の「お気に入り」や「ツール>スクリプト」から実行する場合は、
既にフォーカスが当っているのでAltキーを送る必要がない。
逆にAltキーを送る事でフォーカスが外れてしまうと思います。


さてリンクバーですが、これはちょっと特別なようです。
メニューバーが表示されている状態で、リンクバーからスクリプトを実行する際は、
一旦メニューバーにフォーカスを当てる為にAltキーを送りますが、続けてAMFFOを
送ると正常に動作しないようです。
但し、メニューバーが非表示の状態で実行した際はAltキーに続けてAMFFOを送っても
動作します。
このリンクバーでの挙動の違いを吸収する為には、

WSHShell.SendKeys("%") 'キーを送る
WSHShell.SendKeys("AMFFO") 'キーを送る

の様にAltキーとAMFFOを別にして送る方がSendKeysの誤爆が無いと思われます。
この書式で、サイドバーの「お気に入り」や「設定>スクリプト」からの実行と
リンクバーからの実行ができると思います。

では、メニューバー上の「お気に入り」や「ツール>スクリプト」から実行する場合は
どうでしょう。
Lunascape上の何処にフォーカスが当っているかをスクリプトから知る事ができれば、
送るキーを変更できますが、私にはフォーカスを知る手段がわかりません。
考えられるのは、サイドバーやリンクバーから実行するスクリプトとメニューバーから
実行するスクリプトを分けて使うことです。


但し、以下のスクリプトの様に強引にフォーカスを奪っておいて、実行することは
可能だと思います。


'旧形式のスクリプト
Option Explicit
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
MsgBox("一旦このダイアログにフォーカスを移動させて" & chr(13) & "% と AMFFO のキーを送る")
WSHShell.SendKeys("%") 'キーを送る
WSHShell.SendKeys("AMFFO") 'キーを送る


動作環境
Lunascape Core Version 6.0.2.20465 / Unicode
Operating System Version 5.0.2195
Internet Explorer Version 6.0.2800.1106

最後に
BackUpFavoriteYMD.vbsではSendKeysを使っていないので、フォーカスは関係なく使えるはずです。
AO_o10yan
 
記事: 15
登録日時: 2009年10月16日(金) 17:31

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by teru » 2010年2月15日(月) 13:17

soukou様
「説明不足」過ぎで申し訳ありません。
私とても「めんどくさがり」なので。。。

「.vbs」作る時は何時も「test.vbs」と言うファイルを使っているんです。
これは[設定]-[スクリプト]-[てすと]と[設定]-[スクリプト]-[てすと 旧]とに登録しっぱなしなんです。
で、「test.vbs」と言うファイルを書き換えて、[設定]-[スクリプト]-[てすと 旧]を押して不具合を直して作って行ってるんです。
だから私が公開した物は全て
①[設定]ツリーの[設定]-[スクリプト]
では問題なく動いています。(公開当時は。。。)

出来上がった物はちゃんとしたファイル名を付けて
[設定]ツリーの[設定]-[スクリプト]に登録してから
[リンクバー]にD&Dして日頃使っています。(毎日ではないよ)

[お気に入り]に入れて使ってないので、
昔他の物で実験して動いたので、「[お気に入り]も[リンクバー]も同じように動くんだー」という認識でした。

で、最近使っていなかった[SendAMFFO]をsoukou様のご指摘通りに試してみたら
公開した時は「①:OK ②:OK ③:未確認」だった「SendAMFFO.vbs」が
いつの間にか「①:NG ②:NG ③:NG」になっていたというわけです。

暫くは「なぜ動かなくなったのか」分からなかったのですが、
色々情報を頂き「SendAMFFOcustom.vbs」を作りました。
「私の環境」では「①:OK ②:OK ③:OK」でしたので公開いたしました。
しかし「soukou様の環境」では「①:NG ②:NG ③:NG」と言う結果に。。。

「何で挙動が違うんだぁ?」と。。。
バージョンが違うから?
バージョンアップして仕様が変更になったのかなぁ?
開発者様ー!! そうなの?どうなの?
teru
 
記事: 15
登録日時: 2009年10月26日(月) 17:06

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by soukou » 2010年2月15日(月) 13:28

"AO_o10yan"さんコメントありがとうございます。

AO_o10yan さんが書きました:  ・
  ・
私の推測では、スクリプト起動時にフォーカスが何処にあるかで、キーを送る動作に
違いがあると思います。
  ・
  ・
BackUpFavoriteYMD.vbsではSendKeysを使っていないので、フォーカスは関係なく使えるはずです。

"AO_o10yan"さんの推測、的を射ている感じがします。
少しばかり試してみて、報告します。
soukou
 
記事: 360
登録日時: 2009年10月16日(金) 11:16
お住まい: 神奈川県

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by teru » 2010年2月15日(月) 13:45

AO_o10yan様
ありがとうございます。

AO_o10yan様の環境では正常に動作しましたでしょうか?

AO_o10yan さんが書きました:'旧形式のスクリプト
Option Explicit
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
MsgBox("一旦このダイアログにフォーカスを移動させて" & chr(13) & "% と AMFFO のキーを送る")
WSHShell.SendKeys("%") 'キーを送る
WSHShell.SendKeys("AMFFO") 'キーを送る

はダメでした。

test2 さんが書きました:'旧形式のスクリプト
Option Explicit
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
MsgBox("一旦このダイアログにフォーカスを移動させて" & chr(13) & "% と AMFFO のキーを送る")
WSHShell.SendKeys("{ENTER}") 'キーを送る
WSHShell.SendKeys("%") 'キーを送る
WSHShell.SendKeys("AMFFO") 'キーを送る

もダメでした。
「MsgBox」が消えた時点でフォーカスが「MsgBox」から元の所に戻っているみたいです。
「MsgBox」に対して「[ALT]+[A]」や[ALT]や[A]を送ってみましたが[ENTER]しか受け付けてくれませんでした。

手動でも[ALT]と[A]を別々に押すとダメでした。
[ALT]+[A]を押して[M]もダメでした。
[ALT]+[A]を押して[ALT]+[M]もダメでした。
[ALT]を押しながら[AMFFO]ならOKでした。

私の環境だと「Luna.exe」をアクティブにし直すとフォーカスもリセットされてうまくいくんだけどなぁ。
teru
 
記事: 15
登録日時: 2009年10月26日(月) 17:06

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by AO_o10yan » 2010年2月15日(月) 14:49

teruさん

私の環境では使えています。

Lunascape5をお使いとの事なので、私の手元にあるインストーラから、Lunascape5.1.1に
ダウングレードしてみましたが、Lunascape5.1.1でも動作しています。

これより古い物は、手元に無いのですが、、、。
teruさんのお使いのバージョンは幾つになるでしょうか。


Lunascape Core Version 5.1.1.0 / Unicode
Operating System Version 5.0.2195
Internet Explorer Version 6.0.2800.1106
AO_o10yan
 
記事: 15
登録日時: 2009年10月16日(金) 17:31

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by AO_o10yan » 2010年2月15日(月) 14:54

いずれにしろ、スクリプトでのSendKeysは、誤爆が多い事から
あまり積極的に使うものではないですね
AO_o10yan
 
記事: 15
登録日時: 2009年10月16日(金) 17:31

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by soukou » 2010年2月15日(月) 15:48

SendFRS各種テスト

《各種スクリプト4種》×《操作種別4種》の検証結果です。
泥臭いかもしれませんが、【D】のスクリプトが最適です。
スクリプト【D】は4種の操作全てでOKです。


《各種スクリプト4種》
---------------------------------
'全ての設定を上書き保存
'旧形式のスクリプト
Option Explicit
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
この部分は下記{【A】or【B】or【C】or【D】}
---------------------------------

【A】《SendFRS.vbs》の場合
WSHShell.SendKeys("%(FRS)") 'キーを送る

【B】《SendFRS_1.vbs》の場合
WSHShell.SendKeys("%") 'キーを送る
WSHShell.SendKeys("FRS") 'キーを送る

【C】《SendFRS_2.vbs》の場合
WSHShell.SendKeys("FRS") 'キーを送る

【D】《SendFRS_3.vbs》の場合
WSHShell.SendKeys("FRS") 'キーを送る
WSHShell.SendKeys("%") 'キーを送る
WSHShell.SendKeys("FRS") 'キーを送る


《操作種別4種》
 ①「設定ツリー」の [設定]-[スクリプト]
 ②「リンクバー」
 ③「サイドバー」の「お気に入り」ツリー
 ④「メニューバー」の「お気に入り」

《検証結果》各種スクリプト[SendFRS]の振る舞い

■普通のクリック
    ①   ②   ③   ④
【A】◎OK ▲NG ◎OK ▲NG
【B】◎OK ◎OK ◎OK ▲NG
【C】▲NG ▲NG ▲NG ◎OK
【D】◎OK ◎OK ◎OK ◎OK

■手動で[Alt]キーを押しながらのクリック
    ①   ②   ③   ④※
【A】▲NG ▲NG ▲NG ▲NG
【B】▲NG ▲NG ▲NG ▲NG
【C】◎OK ▲NG ◎OK ◎OK
【D】▲NG ▲NG ▲NG ▲NG

※[Alt]キー+Aで[Alt]キーを押したままクリック
soukou
 
記事: 360
登録日時: 2009年10月16日(金) 11:16
お住まい: 神奈川県

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by teru » 2010年2月15日(月) 15:55

色々実験してみました。

[カスタマイズ]-[キー割り当て]-[お気に入り]-[名前を付けて保存]に[F2]を割り当て さんが書きました:'旧形式のスクリプト
Option Explicit
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")

WSHShell.SendKeys("{F2}") 'キーを送る
①[設定]ツリーの[設定]-[スクリプト]ではOK。

[カスタマイズ]-[キー割り当て]-[お気に入り]-[名前を付けて保存]に[ALT]+[A]を割り当て さんが書きました:'旧形式のスクリプト
Option Explicit
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")

WSHShell.SendKeys("%(A)") 'キーを送る
①[設定]ツリーの[設定]-[スクリプト]ではNG。メニューバーの「お気に入り(A)」が開く。

[カスタマイズ]-[キー割り当て]-[その他]-[検索バーにフォーカス]に[ALT]+[S]を割り当て さんが書きました:'旧形式のスクリプト
Option Explicit
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")

WSHShell.SendKeys("%(S)") 'キーを送る
①[設定]ツリーの[設定]-[スクリプト]ではNG。

「[ALT]+」がダメっぽい。。。
teru
 
記事: 15
登録日時: 2009年10月26日(月) 17:06

Re: お気に入りの保存は独自の場所へ「名前を付けて保存」を!

投稿記事by teru » 2010年2月15日(月) 16:01

私の環境

Lunascape Core Version 5.1.6.19479 / Unicode
Operating System Version 5.1.2600
Internet Explorer Version 8.0.6001.18702
teru
 
記事: 15
登録日時: 2009年10月26日(月) 17:06

1つ前へ次へ

Return to 感想・雑談/5