ワードから特定の秀丸ファイルを開くにはNo.33065
柳絮 さん 14/04/01 09:06
 
質問させていただきます。ワードから特定の秀丸ファイルを開くにはどのようにすれ
ば良いのでしょうか。

最終的に実現したいことは
(1)ワードのテキストをコピー
(2)ワードから秀丸を起動 ←今はここの質問
(3)秀丸でマクロを実行しテキスト加工
(4)秀丸で最終のテキストを固定
という操作です。

これをワード上で登録したキー1つで実行したいのですが、(2)のところで引っ掛
かっています。



こちらに以前、ワードから秀丸を一般的に起動させるコマンドの紹介がありました。

Sub 秀丸起動()
     Dim obj As Object
     Set obj = CreateObject("WScript.shell")
     obj.Exec "c:\Program Files\Hidemaru\Hidemaru.exe"
End Sub

これで秀丸が起動し白紙の秀丸が開くことは確認できました。



しかし実現したいのは、特定の秀丸を開きそこでマクロを自動実行することです。そ
のためには秀丸を単に起動するのではなく、個別の<XXX.MAC>か<XXX.txt>のようなフ
ァイルを開く必要があると考えました。

そこで
obj.Exec "c:\Program Files\Hidemaru\Hidemaru.exe"
の一部を<XXX.MAC>や<XXX.txt>に変えてみたのですが、有効なWin32のアプリケーシ
ョンではないというメッセージが出て秀丸が起動しません。

どのようにしたら良いのかご教示いただければ幸いです。

柳絮

[ ]
RE:33065 ワードから特定の秀丸ファイルをNo.33068
秀丸担当 さん 14/04/01 11:15
 

秀丸エディタとしては、プログラミング言語を問わず、コマンドラインにファイ
ル名が書かれていれば、そのファイルを開くようになっています。
起動方法はコマンドプロンプトだったりショートカットだったり様々です。

一般的には

  C:\xxx\Hidemaru.exe C:\yyy\test.txt

という起動方法になりますが、Program Filesの場合は空白を含むので、プログ
ラムの部分は「"」でくくって、

  "C:\Program Files\Hidemaru\Hidemaru.exe" C:\yyy\test.txt

という書き方が適切です。

ワードのマクロについては詳しくないですが、WScript.shellのExecメソッドは
コマンドラインの書き方にも対応しているようです。
文字列中の「"」は「""」書く必要があるようです。
Execの行を以下のような感じにするといいのではないかと思います。

  obj.Exec """c:\Program Files\Hidemaru\Hidemaru.exe"" c:\yyy\test.txt"

[ ]
RE:33068 ワードから特定の秀丸ファイルをNo.33069
柳絮 さん 14/04/01 14:27
 
有難う御座いました。無事に開くことができました。

空白を含むときの注意、および「"」を使うこと、とても勉強になりました。

次のステップがまだありますが、それについては改めてご質問することにして、取り
急ぎ御礼申し上げます。
素早いご対応に感謝しています。

柳絮

[ ]
RE:33069 ワードから特定の秀丸ファイルをNo.33070
柳絮 さん 14/04/01 15:09
 
すみません。これに関連して、ワードから既に開いている秀丸に移る(その秀丸ウィ
ンドウをアクティブにする)にはどのようにしたら良いでしょうか。

obj.Exec の部分を変えたり、Documents().Activateを使ってもうまく移ってくれま
せん。ワードのVBAのことなので、こちらでお聞きするのは気が退けるのですが、お
教えいただければ幸いです。

柳絮

[ ]
RE:33070 ワードから特定の秀丸ファイルをNo.33071
秀丸担当 さん 14/04/01 15:50
 

既に開いている秀丸エディタにアクティブを切り替えるには、設定で行う方法と、
コマンドラインの起動オプションで指定する方法があります。

設定は、
[その他]→[動作環境]で左下の「上級者向け設定」をONにして、
[その他]→[動作環境]→[ファイル]→[排他制御]の「秀丸エディタで同じファイ
ルを開く場合」にあります。
ここを、「同じファイルを2つ開くことを禁止する」にしておくと、ワードのマ
クロはそのままでアクティブ切り替えするようになります。

コマンドラインの起動オプションで指定するには、/m3という起動オプションを
指定すると、設定に関わらず、上記の設定と同じ振る舞いをします。
起動オプションは、開くファイル名の前に書きます。

例:
  obj.Exec """c:\Program Files\Hidemaru\Hidemaru.exe"" /m3 c:\yyy\test.txt"

起動オプションについては、秀丸エディタのヘルプの「秀丸エディタ起動時のオ
プション」のページを参照してほしいです。

[ ]
RE:33071 ワードから特定の秀丸ファイルをNo.33076
柳絮 さん 14/04/02 13:55
 

有難う御座いました。コマンドラインの起動オプションで指定するということ、了解
しました。やってみてうまく動くことを確認しました。

これで私のしたい
(1)ワードのテキストをコピー
(2)ワードから開いている秀丸に移動
(3)秀丸でマクロを実行しテキスト加工
(4)秀丸で最終のテキストを固定

のうちの(2)までできました。

そこで(3)になるのですが、これは表題を改めて再度質問させていただきます。素
早いご回答に御礼申し上げます。

柳絮

[ ]