ブラウザの使い分けNo.35473
おすぎ さん 09/01/27 09:24
 
秀丸エディタで使うブラウザと、秀丸メールで使うブラウザとを、
違うものにすることはできるでしょうか?

具体的には、
秀丸エディタでは「TheWorld」を、秀丸メールでは「Firefox」を、
使いたいと思ってます。

その理由は、使いやすさの点では「TheWorld」が一番だと
思っているのですが、このブラウザは、メール中のリンクからの
ジャンプがイマイチである(うまく飛んでくれない)ことが
あるので、メールから飛ぶときだけ「Firefox」を使いたいと
思っているからです。

よろしくお願いします。


[ ]
RE:35473 ブラウザの使い分けNo.35476
秀まるお2 さん 09/01/27 11:19
 
 秀丸エディタと秀丸メールでブラウザを使い分ける手段は用意してませんが、
ちょっと難しいワザを使えば似たようなことは出来るようです。

 具体的には、

   http://www.maruo.co.jp/hidesoft/2/x24571_.html#24571

 に書いてあるように、いきなりブラウザを起動するんじなくて、スクリプトを
起動するようにしつつ、そのスクリプトとして、例えば以下のような感じの物を
用意しておけばいいようです。

//webbrowser.vbs
var args = WScript.Arguments
if (args.length > 0) {
 var shell = WScript.CreateObject("WScript.Shell")
 var url = args(0)
 var dir = shell.CurrentDirectory;
 var hmmaildir =
      shell.RegRead("HKCU\\Software\\Hidemaruo\\TuruKame\\Config\\HomeDir");
 dir = dir.toUpperCase() + "\\";
 hmmaildir = hmmaildir.toUpperCase();
 shell.Popup( "dir = " + dir + "\nhmmaildir = " + hmmaildir );
 if( dir == hmmaildir ) {
  shell.Run(
    "\"c:\\program files\\Mozilla Firefox\\firefox.exe\" " + url );
 } else {
  shell.Run(
    "\"c:\\program files\\Internet Explorer\\iexplore.exe\" " + url );
 }
}

 上記例は、秀丸メールからはFirefox、秀丸エディタからはInternet Explorer
を起動する例ですけど…。

 iexplore.exeの所をTheWorldのプログラム・パス名に変更すればそのままいけ
ると思います。

[ ]
RE:35476 ブラウザの使い分けNo.35477
おすぎ さん 09/01/27 12:41
 
秀まるお2さま
さっそくのご対応ありがとうございます。

ただ、具体的にどうすれば良いのか、全然分かりません(^_^;

マクロを作るということでしょうか?
当方、マクロ命令ならば、ある程度理解できます(田楽DLLを
使うレベルにはなっています)。

すみません。
よろしくお願いいたします。



> 秀丸エディタと秀丸メールでブラウザを使い分ける手段は用意してませんが、
>ちょっと難しいワザを使えば似たようなことは出来るようです。
>
> 具体的には、
>
>   http://www.maruo.co.jp/hidesoft/2/x24571_.html#24571
>
> に書いてあるように、いきなりブラウザを起動するんじなくて、スクリプトを
>起動するようにしつつ、そのスクリプトとして、例えば以下のような感じの物を
>用意しておけばいいようです。
>
>//webbrowser.vbs
>var args = WScript.Arguments
>if (args.length > 0) {
> var shell = WScript.CreateObject("WScript.Shell")
> var url = args(0)
> var dir = shell.CurrentDirectory;
> var hmmaildir =
>      shell.RegRead("HKCU\\Software\\Hidemaruo\\TuruKame\\Config\\HomeDir");
> dir = dir.toUpperCase() + "\\";
> hmmaildir = hmmaildir.toUpperCase();
> shell.Popup( "dir = " + dir + "\nhmmaildir = " + hmmaildir );
> if( dir == hmmaildir ) {
>  shell.Run(
>    "\"c:\\program files\\Mozilla Firefox\\firefox.exe\" " + url );
> } else {
>  shell.Run(
>    "\"c:\\program files\\Internet Explorer\\iexplore.exe\" " + url );
> }
>}
>
> 上記例は、秀丸メールからはFirefox、秀丸エディタからはInternet Explorer
>を起動する例ですけど…。
>
> iexplore.exeの所をTheWorldのプログラム・パス名に変更すればそのままいけ
>ると思います。

[ ]
RE:35477 ブラウザの使い分けNo.35478
秀まるお2 さん 09/01/27 13:26
 
 先ほどの書き込みに1つミスがありました。書いたスクリプトはJavaScriptな
ので、ファイル名は「webbrowser.vbs」じゃなくて「webbrowser.js」のように、
拡張子が.jsでないとダメでした。

 それで具体的にどうするか説明させていただきますと…。

 まず、先の発言にあるような「webbrowser.js」っていうファイルをどこかに
作成します。仮に「c:\」の所に作成するとします。ファイルの作成は、秀丸エ
ディタに先ほどの内容を貼り付けて、「ファイル・名前を付けて保存...」で作
成するのがいいと思います。

 そうしたら、今度は秀丸エディタの「動作環境」の左下にある「上級者向け設
定」をONにした上で、「表示/操作 - リンク」ページの「ブラウザを指定...」
を押して、「Webブラウザを指定」をONにして、その下に、

   wscript.exe c:\webbrowser.js

 のように入力してOKします。

 あとはURLをダブルクリックするだけです。

 TheWorldを起動するにはスクリプトを手直しする必要がありますけど…。
TheWorldのプログラム用ファイルがどこにあるのかは僕からは分からないので、
ご自身で探していたたく必要があると思います。TheWorldを起動する用のショー
トカットがスタートメニューにあるのなら、それのプロパティを見れば分かると
思います。

 それのパス名が、例えば

 C:\Program files\TheWord\TheWorldProgram.exe

 だとしたら、

  shell.Run(
    "\"c:\\program files\\Internet Explorer\\iexplore.exe\" " + url );

 の所を

  shell.Run(
    "\"c:\\program files\\TheWorld\\TheWorldProgram.exe\" " + url );

 のように直せばいいと思います。

[ ]
RE:35478 ブラウザの使い分けNo.35479
おすぎ さん 09/01/27 13:33
 
秀まるお2さま

お忙しい中、誠にありがとうございました。

さっそくやってみます。


[ ]
RE:35479 ブラウザの使い分けNo.35499
秀まるお2 さん 09/01/29 13:59
 
 今更ながら1つ間違いを見つけました。

 shell.Popup( "dir = " + dir + "\nhmmaildir = " + hmmaildir );

 この文は動作確認用に入れただけでして、普通は必要無いです。この1行は削
除した方がいいです。

[ ]
RE:35499 ブラウザの使い分けNo.35721
おすぎ さん 09/02/24 09:39
 
秀まるお2さま

ご指示の通りにやって、うまく行きました。
秀丸エディタからは Firefox が起動され、
秀丸メールからは、IE7.0 が起動されています。
不要なメッセージも消しました。

ただ、
Firefox の場合は、毎回、新しいタブが開くのですが、
IE の場合は、毎回、新しいウィンドウが開きます。
これが煩雑です。
ユーザーID&パスワードを入力する必要があるサイトの場合、
新しいウィンドウだと毎回入力する必要があります。

IE の場合も、新しいタブが開くようになるでしょうか?
これって、IE の設定の問題でしょうか?

よろしくお願いいたします。


[ ]
RE:35721 ブラウザの使い分けNo.35723
秀まるお2 さん 09/02/24 13:22
 
 Windows Scripting Host (wscript.exe) から、既に起動しているInternet
Explorerに対して何か指示するようなことは、何か手段があるのかもしれません
けど…。僕が調べた限りはよく分かりませんでした。

 IE側の設定でってのも、僕が探した限りはありませんでした。(ちなみにIE8
で)

 誰か詳しい人が知ってるかもしれませんけど…。僕には分かりません。

[ ]
RE:35723 ブラウザの使い分けNo.35724
秀まるお2 さん 09/02/24 13:29
 
 IE8じゃなくてIE7でした。

[ ]
RE:35724 ブラウザの使い分けNo.35725
おすぎ さん 09/02/24 13:46
 
秀まるお2さま

お手数をおかけしました。
現状で使うようにします。
ありがとうございました。


[ ]
RE:35723 ブラウザの使い分けNo.35726
K'zawa さん 09/02/24 13:54
 
こんにちは、K'zawaです。

IE7のインターネットオプション(
インターネットのプロパティとも言う)ダイアログを開いて、
タブ関連の[設定(T)]ボタンを押すと、それらしきオプションがありますが、
↓どうでしょうか?

「他のプログラムのリンクを開く方法」

[ ]
RE:35726 ブラウザの使い分けNo.35727
秀まるお2 さん 09/02/24 14:10
 
 そういう設定があるとは気づきませんで、一応そこをいじってもみましたが、
やはりダメみたいです。

-------------temp.js---------------------------------------------
var shell = WScript.CreateObject("WScript.Shell")
shell.Run( "\"c:\\program files\\Internet Explorer\\iexplore.exe\" http://ww
w.maruo.co.jp" );
-----------------------------------------------------------------

 みたいなJavaScriptをwscript.exe経由で起動して、それがうまくタブで開け
ばいいんでしょうけど。

[ ]
RE:35727 ブラウザの使い分けNo.35728
h-tom さん 09/02/24 20:26
 

h-tom です。

以下のvbsを5回実行すると、全部タブで表示されましたよ。
Vista+IE7です。
>-------------ie-test.vbs---------------------------------------------
Set WshIe = WScript.CreateObject("InternetExplorer.Application")
WshIe.Navigate "http://hide.maruo.co.jp/"
set WshIe = Nothing
>-----------------------------------------------------------------

[ ]
RE:35728 ブラウザの使い分けNo.35729
秀まるお2 さん 09/02/25 09:25
 
 Windows Vistaだとたしかにそれでうまくいくみたいですね。でも僕の
WindowsXP+IE7だとダメでした。

[ ]
RE:35729 ブラウザの使い分けNo.35730
h-tom さん 09/02/25 22:33
 

h-tom です。

> Windows Vistaだとたしかにそれでうまくいくみたいですね。でも僕の
>WindowsXP+IE7だとダメでした。
XP+IE7だと全然ダメですね。
ということでXP対応版です。Vistaでも問題ないです。

'------test_ie.vbs--------------------
Option Explicit
Const navOpenInNewTab = &H800
Const navOpenInBackgroundTab = &H1000

Dim WshIe
Dim Shell
Dim WindowList
Dim ie_check
Dim ie_flg

'IEを検索
ie_flg = 0
Set Shell = Wscript.CreateObject("Shell.Application")
Set WindowList = Shell.Windows
For Each ie_check In WindowList
    'wscript.echo ie_check.FullName & vbtab & ie_check.LocationName
    if  right(lcase(ie_check.FullName),13) = "\iexplore.exe" then
        'wscript.echo "match!"
        Set WshIe = ie_check
        ie_flg = 1
        exit for
    end if
Next

if ie_flg = 0 then
    'なければ普通に起動
    Set WshIe = WScript.CreateObject("InternetExplorer.Application")
    WshIe.Navigate "http://hide.maruo.co.jp/"
    WshIe.Visible = True
else
    'IEが見つかれば、タブで開く
    WshIe.Navigate2 "http://hide.maruo.co.jp/",navOpenInNewTab
    if WshIe.Visible = false then WshIe.Visible = True
end if
set WshIe = Nothing
set WindowList = Nothing
Set Shell = Nothing
Wscript.Quit
'-------------------------------------

[ ]
RE:35730 ブラウザの使い分けNo.35731
おすぎ さん 09/02/26 08:07
 
h-tom さん

これは、秀丸マクロの形式ですか?


[ ]
RE:35731 ブラウザの使い分けNo.35732
秀まるお2 さん 09/02/26 17:04
 
 これはVBScriptだし、そのままでは秀丸エディタのブラウザ起動用スクリプト
としては使えないです。

 ということで、これを元に、秀丸エディタ/秀丸メール用のブラウザ起動スク
リプトをぼちぼち作ってみます。

[ ]
RE:35732 ブラウザの使い分けNo.35733
おすぎ さん 09/02/26 17:51
 
秀まるお2さま

VBとは、Visual Basic のことでしょうか?

お手数をおかけします。
よろしくお願いいたします。


[ ]
RE:35733 ブラウザの使い分けNo.35734
秀まるお2 さん 09/02/26 21:00
 
 一応、h-tomさんから教えてもらった方法でスクリプトを作ってみました。

var args = WScript.Arguments
var shell = WScript.CreateObject("WScript.Shell");
var url = args(0);
var dir = shell.CurrentDirectory;
var hmmaildir =
    shell.RegRead("HKCU\\Software\\Hidemaruo\\TuruKame\\Config\\HomeDir");
dir = dir.toUpperCase() + "\\";
hmmaildir = hmmaildir.toUpperCase();
if( dir == hmmaildir ) {
    var navOpenInNewTab = 0x800;
    var navOpenInBackgroundTab = 0x1000;

    var WshIe;
    var ie_flg;

    var ie_flg = 0;
    var app = WScript.CreateObject("Shell.Application");
    var WindowList = app.Windows();
    for( var i = 0; i < WindowList.Count; i++ ) {
        var fullname = WindowList.item(i).FullName;
        if( fullname.search(/\iexplore.exe/i) >= 0 ) {
            WshIe = WindowList.Item(i);
            ie_flg = 1;
            break;
        }
    }

    if( ie_flg == 0 ) {
        // なければ普通に起動
        WshIe = WScript.CreateObject("InternetExplorer.Application");
        WshIe.Navigate( url );
        WshIe.Visible = true;
    } else {
        // IEが見つかれば、タブで開く
        WshIe.Navigate2( url, navOpenInNewTab );
        if( WshIe.Visible == false ) {
            WshIe.Visible = true;
        }
    }
} else {
    shell.Run(
      "\"c:\\program files\\Mozilla Firefox\\firefox.exe\" " + url );
}

[ ]
RE:35734 ブラウザの使い分けNo.35735
おすぎ さん 09/02/26 23:16
 
秀まるお様、h-tom 様

動作確認いたしました。
本当にありがとうございました。

作っていただいたスクリプトは、全然読めていませんが、
とても助かりました。

重ねて、ありがとうございました。


[ ]