|   |  
[質問]鶴亀エディタの内容を秀丸で開く方法 
 
鶴亀のエディタで開いているファイル内容を、(内容をcopyして)秀丸で開きたい 
といった操作を簡単できたら便利だなとおもいマクロで作ろうとして 
みました。しかしうまくつくれませんでした。 
下記の期待する動作をするには、どのようにマクロをつくればいいか 
ご指導願います。 
 
期待動作 
    鶴亀メールのエディタで開いている受信メールの内容をcopyし、 
    秀丸エディタを起動して貼り付ける。 
    条件: 
    クリップボードを使用せず、鶴亀メールのエディタから文字列を取得する。 
    取得する文字数に制限がある場合は、制限数の最大データを取得する。 
 
トライアル 
1. 
    失敗 
    "gettext"コマンドで文字列を取得して処理すればいいかなと思って 
    作ってみたら、メールを全文取得してみると"文字列の長さが長すぎるとエラー" 
    となってしまいました。 
 
2. 
    失敗 
    鶴亀のマクロ関数"RootBody"を使用して、実行すればできるかなと思ってトライ。 
    うまく動かないのでなんでだろと不思議に思っていたら、Helpに 
    返信元メールまたは、転送メールの本文全体を返します。 
    と書いていた。通常にメールを開いているだけのメールでは処理できない 
    のでうまく文字列を取得できなかった。 
 
3. 
    失敗 
    とりあえず文字列の取得ができた場合の後処理を考えた。 
        gettextで短い文字列を取得 
        秀丸を起動マクロ"openfile"コマンドを実施 
        鶴亀からopenfileコマンドが使えないと怒られた。 
4. 
    失敗 
    3.のファイルopen方法をrunコマンドを使用して秀丸を起動する 
    ようにトライ。 
        runコマンドで秀丸を起動 
        起動した秀丸ハンドル"hidemaruhandle"を取得しようとしたが 
        うまくいかなかった。 
 
//------------------------------------------- 
    //文字列が長いとエラーになるので移動を止めた 
//  gofileend ; //ファイルの最後に移動 
//  $$s = gettext( 0, 0, x, y ) ; 
    //一部のみ取得 
    $$s = gettext( 0, 0, x, y ) ; 
    //文字列取り込み 
    //x1,y1からx2,y2の範囲にある文字列を返します。 
//  message $$s; 
    //元ファイルの秀丸ハンドルを取得 
    #fh = hidemaruhandle( 0 ); 
//  message str(#fh) ; 
    //秀丸起動 
    run hidemarudir + "\\hidemaru.exe" ; 
    //起動した秀丸のハンドルを取得。 
    #backfh = hidemaruhandle( 0 ); 
//  message str(#backfh) ; 
    insert $$s; 
    setactivehidemaru #fh ; 
 
LEND: 
    endmacro; 
 
 
			 | 
		  
	 |