IEから秀丸へテキストの送り込み方法?No.18855
a.sue さん 05/02/19 08:44
 
最近ジャストシステムが出した「ネタの種」、その原型の「紙copi」「紙2001」を見
ていて、秀丸にもIEの表示内容を右クリックメニューから取り込めないかと調べてい
ます。
IE側の右クリックメニュー(標準コンテキストメニュー)に機能を追加する方法はわ
かったのですが、秀丸がCOMオブジェクトになっているかわからないのでその先に進
めません。

現在の秀丸の機能を使って、他のアプリから秀丸の新規文書/既存文書にテキストを
送り込むことはできるでしょうか?

[ ]
RE:18855 IEから秀丸へテキストの送り込みNo.18856
h-tom さん 05/02/19 11:41
 

h-tom です。

>IE側の右クリックメニュー(標準コンテキストメニュー)に機能を追加する
>方法はわかったのですが、秀丸がCOMオブジェクトになっているかわからな
>いのでその先に進めません。
今のところ、秀丸はCOMオブジェクトでないのでWHS(vbs,js)から制御すること
は出来ません。

>現在の秀丸の機能を使って、他のアプリから秀丸の新規文書/既存文書に
>テキストを送り込むことはできるでしょうか?
・選択範囲して秀丸にドロップする。
・コピー&ペースト使う。

どうしてもIEの右クリックから行いたいなら、
1)取り込みたい範囲をクリップボードへ。
2)poppaste;だけ書かれたマクロを"/x"オプションで指定して秀丸を起動。
という手順で新規文書に貼り付ける事は出来るかも。
(常駐秀丸&クリップボード履歴を使っていることが前提。)
既存文書に貼り付けるのは難しいかな?

[ ]
RE:18856 IEから秀丸へテキストの送り込みNo.18858
a.sue さん 05/02/19 12:08
 
>h-tom です。
コメントありがとうございます。

>今のところ、秀丸はCOMオブジェクトでないのでWHS(vbs,js)から制御すること
>は出来ません。
やはりそうですか。

>・選択範囲して秀丸にドロップする。
>・コピー&ペースト使う。
今回ワンタッチでの送り込みを考えているので、このあたりの普通の方法は手間がか
かりすぎるんです。

>どうしてもIEの右クリックから行いたいなら、
>1)取り込みたい範囲をクリップボードへ。
>2)poppaste;だけ書かれたマクロを"/x"オプションで指定して秀丸を起動。
>という手順で新規文書に貼り付ける事は出来るかも。
これは試しました。
なかなかよいので、IEのVBScriptかJava Scriptで他のアプリ(例:hidemaru.exe /xp
asete.mac)を起動できればいけそうな気がしてるのですが、IEから呼び出せるVBScr
iptやJava Scriptでアプリの起動ができないような気がする(セキュリティ上まず
い)のと、実際起動する方法が見つからないので頓挫しました。
あと、選択範囲をクリップボードに放り込むScriptも必要なのですが、そこまでまだ
調べていません。

>既存文書に貼り付けるのは難しいかな?
既存文書の場合は、決めうちにするか開いている文書を列挙して貼り付け先を選ばせ
る方法が考えられます。

あとはDDEを使って何かできないかとも思ったのですが、秀丸側に外からというのは
ちょっと無理そうなのと、資料や例が少なくて検討できませんでした。

# ひそかに機能追加してくれないかなという期待をこめての質問だったりして :-)

[ ]
RE:18858 IEから秀丸へテキストの送り込みNo.18859
h-tom さん 05/02/19 13:48
 

h-tom です。

>なかなかよいので、IEのVBScriptかJava Scriptで他のアプリ(例:hidemaru.exe /xp
>asete.mac)を起動できればいけそうな気がしてるのですが、IEから呼び出せるVBScr
>iptやJava Scriptでアプリの起動ができないような気がする(セキュリティ上まず
>い)のと、実際起動する方法が見つからないので頓挫しました。
アプリケーションの起動は出来ましたよ
WshShellオブジェクトのrunメソッドです。

>あと、選択範囲をクリップボードに放り込むScriptも必要なのですが、そこまでまだ
>調べていません。
"execCommand"で"copy"すればクリップボードにコピー出来ます。

[ ]
RE:18859 IEから秀丸へテキストの送り込みNo.18860
a.sue さん 05/02/19 15:05
 
ありがとうございます。

>アプリケーションの起動は出来ましたよ
>WshShellオブジェクトのrunメソッドです。
IEのVBScriptでは使えないようです。
もう少し調べてみます。

>>あと、選択範囲をクリップボードに放り込むScriptも必要なのですが、そこまでまだ
>>調べていません。
>"execCommand"で"copy"すればクリップボードにコピー出来ます。
こっちはできました。
external.menuArguments.document.execCommand("Copy")
こんなに簡単だとは。

[ ]
RE:18860 IEから秀丸へテキストの送り込みNo.18863
a.sue さん 05/02/20 10:07
 
>>アプリケーションの起動は出来ましたよ
>>WshShellオブジェクトのrunメソッドです。
>IEのVBScriptでは使えないようです。
>もう少し調べてみます。

できました。
要点だけ書くと、これだけの処理になりました。

set WshShell = CreateObject("WScript.Shell")
external.menuArguments.document.execCommand("Copy")
WshShell.Run """c:\Program Files\Hidemaru\Hidemaru.exe"" /xpaste.mac"

何のことはない、昔WSHをアンインストールしてたということで。
散々ドキュメントを読み漁ってWSHでCOMコンポーネントを作るあたりまで試していて、
コマンドラインからも.wscファイルが実行できないので気づきました。

h-tom さん、ありがとうございました。

[ ]
RE:18863 IEから秀丸へテキストの送り込みNo.18864
a.sue さん 05/02/20 16:48
 
とりあえず使えそうなものになったので公開しました。
http://a.sue.mydns.jp/lib/index.html#hidecopy

[ ]
RE:18864 IEから秀丸へテキストの送り込みNo.18888
鳩2 さん 05/02/23 11:56
 

鳩です。こんにちは。
http://a.sue.mydns.jp/lib/index.html#hidecopy (hidecopy10.zip)
 これいいですねー。早速使わせていただきました。

 実をいいますと、長年これを求めていました。考えたことはa.sueさんと全く同
じです。

 IE上で右クリックメニューからプログラムを起動する項目を追加するために上
記hidecopy10.zipにはhidecopy.regがありますが、うりゅそふとさんのIE MenuExt
を使った方が安全で便利と思います。(http://www.uryusoft.com/

 この問題について、うりゅうそふとさんへ質問したことがあります。久々に見て
みますと、同サイトの過去ログ一番最後になっていて消滅直前でした。
([84] IEの右クリックでプログラム起動がしたい)

 以来、約5年間、IE上でテキストを選んでコピーするのは手操作,そのあと右
クリックメニューで秀丸起動,自動ペーストとでやってきましたが、今回、
hidecopy10.zipのhidecopy.htmlでバッチリです。(Win2000sp4,IE6sp1で確
認)

 長年ほしかったのは、まさにこのhidecopy.htmlで、Googleなどの検索で短時間
に大量のページを参照する場合には非常に便利です。

 どうもありがとうございました。

[ ]