スペースをファイル名に含むファイルの起No.03411
haru さん 02/10/06 10:33
 
 例えば、秀丸エディタに「aaa bbb.txt」というスペースをファイ
ル名に含むファイルがあったときに、aaa bbb.txtを選択(反転表示)
しておいて、ダブルクリックすると、bbb.txtを立ち上げようとして
しまいます。
 こうならないで、「aaa bbb.txt」を立ち上げてくれるマクロがラ
イブラリにあったと思うんですが、最近探したら、もうなくなって
いました。
 確かこのマクロでは、拡張子がtxt以外のものも起動できたと思い
ます。
 作者がどなたかも、さっぱりわからないんですが、あったのは覚
えています。
 どなたか、情報をご存じの方、よろしくお願いします。
 それとも、私の単なる、思い違いでしょうか?

[ ]
RE:03411 スペースをファイル名に含むファNo.03412
きいろいまふらあ さん 02/10/06 10:59
 
質問に対する答えになってませんが、手元の環境(WinXP, 秀丸3.17)では、

> 例えば、秀丸エディタに「aaa bbb.txt」というスペースをファイ
>ル名に含むファイルがあったときに、aaa bbb.txtを選択(反転表示)
>しておいて、ダブルクリックすると、bbb.txtを立ち上げようとして
>しまいます。

上記のような操作で正しく開いてくれました。

デスクトップに「da ta.txt」というファイルを置いて試しました。
シングルクリックで選択状態にしてから、ダブルクリックで開きましたが、その
ファイルを読み込んだ状態で秀丸のウィンドウが現れました。

環境によるのかな?

[ ]
RE:03411 スペースをファイル名に含むファNo.03413
山紫水明 さん 02/10/06 11:13
 
 haruさん,こんにちは。

》 こうならないで、「aaa bbb.txt」を立ち上げてくれるマクロがラ
》イブラリにあったと思うんですが、最近探したら、もうなくなって
》いました。

 次のようなマクロを登録して,【キー割り当て】で【ダブルクリック】に割り
当てたらどうでしょう。
 ただし,目的ファイルがカレントフォルダにあるか,フルパスで書かれていな
いとだめだと思います。自分では確かめていませんので,うまくいかなかったら
ごめんなさい。

//-----------------------------------------------------//
if( selecting ){
    openfile gettext( seltopx, seltopy, selendx, selendy );
} else selectword;
endmacro;
//-----------------------------------------------------//

     では, (^^)/~
                                        山紫水明

[ ]
RE:03412 スペースをファイル名に含むファNo.03414
きいろいまふらあ さん 02/10/06 11:37
 
山紫水明さんのコメントを読んで、まるっきり話を取り違えていることに気づき
ました。失礼いたしました。>皆様

[ ]
RE:03413 スペースをファイル名に含むファNo.03415
haru さん 02/10/06 13:39
 
山紫水明さん、きいろいまふらあさん、こんにちは。

> 次のようなマクロを登録して,【キー割り当て】で【ダブルクリック】に割り
>当てたらどうでしょう。
> ただし,目的ファイルがカレントフォルダにあるか,フルパスで書かれていな
>いとだめだと思います。自分では確かめていませんので,うまくいかなかったら
>ごめんなさい。
 選択後、実行すると、「bbb.txt−関連づけられたアプリケーショ
ンの起動に失敗したか、または、ファイルが見つかりません。」と
表示され、やはり「aaa 」を含んで認識してくれません。
 それと、「あああccc.txt」で実行しても、「あああ」の部分は認
識されません。

[ ]
RE:03415 スペースをファイル名に含むファNo.03416
山紫水明 さん 02/10/06 15:18
 
 haruさん,こんにちは。

》 選択後、実行すると、「bbb.txt−関連づけられたアプリケーショ
》ンの起動に失敗したか、または、ファイルが見つかりません。」と
》表示され、やはり「aaa 」を含んで認識してくれません。
》 それと、「あああccc.txt」で実行しても、「あああ」の部分は認
》識されません。

 やはりだめでしたか? ダブルクリックへのマクロ割り当ては簡単ではないよ
うです。
 1回目のクリックで範囲選択が解除されてしまい,次に強調表示部分が取り込
まれているのかもしれません。
 マクロを次のようにしてみてください。

//---------------------------------------------------------------------//
$file = gettext( seltopx, seltopy, selendx, selendy );
if( existfile( $file ) ) openfile $file;
else selectword;
endmacro;
//---------------------------------------------------------------------//

 ファイル名の強調表示を指定していたら,範囲選択の後,スペースの前の部分
にカーソルを置いてでダブルクリックしてみてください。
 うまくいくかどうか・・・

     では, (^^)/~
                                        山紫水明

[ ]
RE:03416 スペースをファイル名に含むファNo.03417
haru さん 02/10/06 19:30
 
山紫水明さん、こんにちは。

>//---------------------------------------------------------------------//
>$file = gettext( seltopx, seltopy, selendx, selendy );
>if( existfile( $file ) ) openfile $file;
>else selectword;
>endmacro;
>//---------------------------------------------------------------------//
> ファイル名の強調表示を指定していたら,範囲選択の後,スペースの前の部分
>にカーソルを置いてでダブルクリックしてみてください。
> うまくいくかどうか・・・
 うまくいきました。カーソルの位置は後の部分でもOKでした。
 全角文字と混在しているファイル名もOKです。
 ありがとうございます。

 でも、マクロライブラリにあったマクロなかったのかな〜?
 これだと、目的ファイルがカレントフォルダになくても、立ち上
げられたように書いてあった気がします。>どなたかご存じの方

[ ]
RE:03413 スペースをファイル名に含むファNo.03418
ひろ さん 02/10/06 20:07
 
 haru さん、山紫水明さん今日は、ひろです。
> 》 こうならないで、「aaa bbb.txt」を立ち上げてくれるマクロがラ
> 》イブラリにあったと思うんですが、最近探したら、もうなくなって
> 》いました。
>
>  次のようなマクロを登録
 これなら範囲選択していなければ「単語選択」するという例外処理がなけ
れば、マクロを組まなくても、「ダイレクトタグジャンプ」「...を開く」か
「...を秀丸で開く」を、自分の目的に合わせて割り当てればよいと思います。
 逆に標準で付いているので、ライブラリから無くなったのかも。

[ ]
RE:03418 スペースをファイル名に含むファNo.03419
山紫水明 さん 02/10/07 07:34
 
 ひろさん,こんばんは。

》マクロを組まなくても、「ダイレクトタグジャンプ」「...を開く」か
》「...を秀丸で開く」を、自分の目的に合わせて割り当てればよいと思います。

 スペースを含むファイル名の場合も,ダブルクリックでうまくいきますでしょう
か?

     では, (^^)/~
                                        山紫水明

[ ]
RE:03419 スペースをファイル名に含むファNo.03420
ひろ さん 02/10/07 12:16
 
 山紫水明さん今日は、ひろです。
>  スペースを含むファイル名の場合も,ダブルクリックでうまくいきますでしょう
> か?
 この場合は、ご自身で
http://www.maruo.co.jp/hidesoft/4/m021006.html#3416
にて書かれているように、マクロで書いても確実に上手く行く保証はないの
では? それなら右クリックメニューにでも割り当てた法が建設的だと思いま
す。

 ##なんで 2 つめのマクロだと上手く行くの??? どちらの場合も、openfile
より gettext が実行されると思うんだけどなあ〜。

[ ]
RE:03420 スペースをファイル名に含むファNo.03421
番頭++ さん 02/10/07 19:14
 
>  ##なんで 2 つめのマクロだと上手く行くの??? どちらの場合も、openfile
> より gettext が実行されると思うんだけどなあ〜。

インタプリタの解釈 (パース) の問題だと思います。
命令のオペランドに関数を書くと、そうなるのかもしれません。
「再起 (リカーシブ) 」に、言語を解釈、スタック (push & pop) がおかしいのかも
 ...
「秀丸マクロ」は「シンプル」に書くと、いいのかも知れません。

[ ]
RE:03420 スペースをファイル名に含むファNo.03448
山紫水明 さん 02/10/11 11:38
 
 ひろさん,番頭++さん,こんにちは。

 コメント遅くなりました。m(__)m

》それなら右クリックメニューにでも割り当てた法が建設的だと思います。

 そう思いますが,ダブルクリックという希望でしたものですから。

》 ##なんで 2 つめのマクロだと上手く行くの??? どちらの場合も、openfile
》より gettext が実行されると思うんだけどなあ〜。

 愚考するところによりますと,最初のマクロの

if( selecting ){

の部分がくせ者でして,(^^;
ダブルクリックの最初のクリックで範囲選択が解除されてしまい,次のクリック
でスペース以後のファイル名が選択状態になってしまうことによるのではないで
しょうか。
 そうすると,マクロ開始時点では,後者の seltopx, seltopy, selendx,
selendy が有効になってしまうと思います。
 この条件をなくし,かつ,ファイル名らしいところの外で実行すれば,最初の
seltopx, seltopy, selendx, selendy が生きているということです。
 これは,ユーザーインタフェイスのマウス操作の設定にも依存すると思います。

》インタプリタの解釈 (パース) の問題だと思います。
》命令のオペランドに関数を書くと、そうなるのかもしれません。
》「再起 (リカーシブ) 」に、言語を解釈、スタック (push & pop) がおかしいの
》かも

 こんな問題,あるのかどうか私にはよくわかりませんが,この場合はそんな難
しいことでもないような気がします。

     では, (^^)/~
                                        山紫水明

[ ]