Edgeで編集中ファイルを開くマクロNo.34986
cmasa さん 16/05/08 14:09
 
こんにちは、IEで編集中のファイルを開くマクロを次のような感じで作り、重宝して
いたのですが、Edge ブラウザで同じようなことはできますでしょうか?

$browser = "C:\\Program Files\\Internet Explorer\\iexplore.exe";
// 現在編集中のファイルを保存してからブラウザで開く
if (updated)
{
    question "上書き保存していいですか?";
    if (result == 1)
    {
        save;
    }
    else
    {
        endmacro;
    }
}
run "\"" + $browser + "\" \"%f\"";

[ ]
RE:34986 Edgeで編集中ファイルを開くマクNo.34987
でるもんたいいじま さん 16/05/08 15:54
 
こんにちは、秀丸ユーザの「でるもんた・いいじま」です。

手元にWindows10がないので、下記は検索結果からの推測になります。
正式な回答は秀丸担当さんからいただけると思います。

> こんにちは、IEで編集中のファイルを開くマクロを次のような
> 感じで作り、重宝していたのですが、Edge ブラウザで同じような
> ことはできますでしょうか?
>
> $browser = "C:\\Program Files\\Internet Explorer\\iexplore.exe";
...
> run "\"" + $browser + "\" \"%f\"";

Edgeの場合、実行ファイルの名前を指定しても起動できないそうです。
そうではなく、たとえばExplorerの「ファイル名を指定して実行」で
「microsoft-edge:hide.maruo.co.jp」のように指定するそうです。
cf. https://hebikuzure.wordpress.com/2015/08/22/startedgebycommand/

で、秀丸の run 文は、引数にURLを与えてもWindowsのプロトコル
ハンドラには渡してくれないようです。
(検証例 run "mailto:xxxxxxxxxx@maruo.co.jp";)

ですが、
run "cmd /c start mailto:xxxxxxxxxx@maruo.co.jp";
とすればうまくいきましたので、Edgeでも同様のことができると
予想します。すなわち、
run "cmd /c start \"Starting...\" \"microsoft-edge:file:%f\"";
で行けると思います。マクロに書く前に、まずはコマンドプロンプトで
cmd /c start "Starting..."
microsoft-edge:file:C:\Users\cmasa\Desktop\aaa.txt
のようにして試してみてください。

#start の引数のファイル名・URLを "" でくくる場合には、その前に
#もうひとつ、"" でくくった文字列が必要です。この文字列は、
#コンソールアプリを新しいウィンドウで起動する場合に、
#そのウィンドウタイトルになります。

ではでは。


---以下の内容はコミュニテックス会議室システムにより付加されました。
本文中のメールアドレスは伏せ字に変換されました。伏せ字にしたくない場合
はメールアドレスを""で囲んで書き込んでください。

[ ]
RE:34987 Edgeで編集中ファイルを開くマクNo.34989
h-tom さん 16/05/08 21:12
 

h-tom です。

>run "cmd /c start \"Starting...\" \"microsoft-edge:file:%f\"";
run文ではなく、"openbyshell"を使えば、「cmd /c start \"Starting...\"」
は不要でしょう。

  openbyshell "microsoft-edge:file:///" + filename;

ただ、こちらのWindows10では、URLは開きましたが、ローカルにあるファイルは
開きませんでした。
(EdgeのURL入力するところに、ローカルファイルを指定すれば開くんですけどね。)
デフォルトブラウザがEdgeなら、LaunchWinApp.exe 経由すれば、開けるかも
しれません。

[ ]
RE:34989 Edgeで編集中ファイルを開くマクNo.34991
でるもんたいいじま さん 16/05/08 21:58
 
こんばんは。でるもんた・いいじまです。

> run文ではなく、"openbyshell"を使えば、「cmd /c start
> \"Starting...\"」は不要でしょう。
>  openbyshell "microsoft-edge:file:///" + filename;

おお、そのものずばりの命令文がありましたか。
情報収集不足でした。

ところで、filenameには半角スペースが含まれる可能性がありますが、
ダブルクォートで括らなくて大丈夫ですかね?つまり、
openbyshell "\"microsoft-edge:file:///" + filename + "\"";
としなくても大丈夫か、ということです。

> デフォルトブラウザがEdgeなら、LaunchWinApp.exe 経由すれば、
> 開けるかもしれません。

なるほど、そんなツールもあるんですね。

#そろそろ新しい情報にキャッチアップしなきゃいけないのですが、
#Windows XPからの適切な乗り換え先が見つからないので、結局、
#LANの内部ではXPを使い続けています。Windows 7 のサポートが
#今後10年続くことが保証されるなら即座に乗り換えるのですが、
#実際にはもう延長サポート段階に突入しているらしくて、
#だとすれば、あと5年あるかないかという状況ですので。

[ ]
RE:34991 Edgeで編集中ファイルを開くマクNo.34993
h-tom さん 16/05/08 23:57
 

h-tom です。

>ところで、filenameには半角スペースが含まれる可能性がありますが、
>ダブルクォートで括らなくて大丈夫ですかね?つまり、
>openbyshell "\"microsoft-edge:file:///" + filename + "\"";
>としなくても大丈夫か、ということです。
ローカルファイルを開けない時点で、試すのを止めたので、確認はして
ません。
ただ、"file://"という形式を使うなら、
・" "(半角スペース)は"%20"へ
・"\"は"/"へ
変換した方がいいでしょうね。

>> デフォルトブラウザがEdgeなら、LaunchWinApp.exe 経由すれば、
>> 開けるかもしれません。
>
>なるほど、そんなツールもあるんですね。
ツールというか、Windows10でレジストリから関連づけを追いかけていくと、
システムフォルダにある"LaunchWinApp.exe"が呼ばれています。

デフォルトのブラウザが Edge の場合、"LaunchWinApp.exe"にURLやファイル
を指定して呼び出せば、Edgeで表示されます。

[ ]
RE:34993 Edgeで編集中ファイルを開くマクNo.35000
秀丸担当 さん 16/05/09 14:30
 

Edgeはコマンドラインそのままではできないのですね。
ローカルファイルの場合はどうやったらできるのか、調べてみたのですが明示的
に指定する方法はわかりませんでした。
もし関連付けされていれば、
openbyshell filename;
として開く方法もあります。

[ ]
RE:35000 Edgeで編集中ファイルを開くマクNo.35046
cmasa さん 16/05/31 09:56
 
みなさん、どうもありがとうございました。

従来の方法から簡単に修正してEdgeに対応できないということがわかってよかったで
す。

[ ]