HTMLの削除についてNo.00140
Mattz さん 01/03/30 17:38
 
Mattz と申します。よろしくお願いします。

ひとつ要望です。
現在[設定(O)]-[全般的な設定(E)]内の[特別]タブにある
「HTMLメールのHTML部分は破棄する」の機能なのですが、
これを振り分けのように特定の条件にマッチしたもののみ
に対して適用するようには出来ないのでしょうか?

あるいは、マクロで同様のことは実現できますでしょうか?

[ ]
RE:00140 HTMLの削除についてNo.00148
秀まるお2 さん 01/03/30 19:20
 
> 現在[設定(O)]-[全般的な設定(E)]内の[特別]タブにある
> 「HTMLメールのHTML部分は破棄する」の機能なのですが、
> これを振り分けのように特定の条件にマッチしたもののみ
> に対して適用するようには出来ないのでしょうか?

 今のところ出来ないです。

> あるいは、マクロで同様のことは実現できますでしょうか?

 もし、「現在選択しているメールのHTML部分を削除する」というマクロでいいなら、
こんなマクロで可能ではあります。(別途、秀まるおのマクロサーバーが秀丸エディ
タ用フォルダにインストールされていると仮定して)

----------------------------------------------------------
    loaddll "tkinfo.dll";
    $file = dllfuncstr("CurrentHeader","X-Html");
    if( $file == "" ) {
        message "HTMLメールではありません。";
        endmacro;
    }
    $path = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount") + "\\" +
$file;
    if( rightstr( $path, 10 ) != "\\index.htm" ) {
        message "内部エラー";
        endmacro;
    }
    $path = leftstr( $path, strlen($path) - 9 );
    question $path + "*.* を削除します。よろしいですか?";
    if( result != yes ) endmacro;
    run hidemarudir + "\\macserv.exe";
    ddeinitiate "HideMacroServer", "FileService";
    ddeexecute "enumfile " + $path + "*.*";
    while(1) {
        $name = dderequest("findnext");
        if( $name == "" ) break;
        ddeexecute "delete " + $path + $name;
    }
    $account = dllfuncstr("CurrentAccount");
    $folder = dllfuncstr("CurrentFolder");
    #n = dllfunc("SelectFolder", $account, "");
    #n = dllfunc("SelectFolder", $account, $folder);
----------------------------------------------------------

 もし、受信と同時にHTML部分を削除するような形にするなら、もうちょっと面倒な
マクロを作る必要があり、さらには受信後に毎回マクロ実行するような形で運用しな
いといけないです。

[ ]
RE:00148 HTMLの削除についてNo.00178
そろそろ さん 01/04/01 17:33
 
 こんにちは、秀まるお2さん、みなさん。そろそろです。

> もし、「現在選択しているメールのHTML部分を削除する」というマクロでいいなら、

>こんなマクロで可能ではあります。(別途、秀まるおのマクロサーバーが秀丸エディ
>タ用フォルダにインストールされていると仮定して)

 作っていただいたマクロを動かしてみたのですが、うまく動きません。どうし
たらいいでしょうか?

question $path + "*.* を削除します。よろしいですか?";

 によるダイアログがでてきた後、はいと答えても、HTMLのあるフォルダが削除
されません。

 ひょっとして、HTMLファイルが読みとり属性になっているのと関係あります
か?

 それとHTMLファイルの削除と同時に
X-Html:   受信HTML\010331_00\index.htm
などのヘッダーも削除して
さらに改変マークも消したいのですが、
そのようなことはマクロで出来ますでしょうか?

>----------------------------------------------------------
>    loaddll "tkinfo.dll";
>    $file = dllfuncstr("CurrentHeader","X-Html");
>    if( $file == "" ) {
>        message "HTMLメールではありません。";
>        endmacro;
>    }
>    $path = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount") + "\\" +
>$file;
>    if( rightstr( $path, 10 ) != "\\index.htm" ) {
>        message "内部エラー";
>        endmacro;
>    }
>    $path = leftstr( $path, strlen($path) - 9 );
>    question $path + "*.* を削除します。よろしいですか?";
>    if( result != yes ) endmacro;
>    run hidemarudir + "\\macserv.exe";
>    ddeinitiate "HideMacroServer", "FileService";
>    ddeexecute "enumfile " + $path + "*.*";
>    while(1) {
>        $name = dderequest("findnext");
>        if( $name == "" ) break;
>        ddeexecute "delete " + $path + $name;
>    }
>    $account = dllfuncstr("CurrentAccount");
>    $folder = dllfuncstr("CurrentFolder");
>    #n = dllfunc("SelectFolder", $account, "");
>    #n = dllfunc("SelectFolder", $account, $folder);
>----------------------------------------------------------

[ ]
RE:00178 HTMLの削除についてNo.00184
ひろ さん 01/04/02 00:23
 
 そろそろさん今日は、ひろです。横から失礼します。
>  作っていただいたマクロを動かしてみたのですが、うまく動きません。どうし
> たらいいでしょうか?
 秀まるおさんの発言に、
> >こんなマクロで可能ではあります。(別途、秀まるおのマクロサーバーが秀丸エディ
> >タ用フォルダにインストールされていると仮定して)
とありますが、
(1)マクロサーバは導入していますか?
(2)秀丸をインストールしたフォルダにマクロサーボをインストールしてな
い場合や、秀丸自体をインストールしていない場合、マクロサーバへのパス
を自分の環境に合わせて書き換えていますか?

>  それとHTMLファイルの削除と同時に
> X-Html:   受信HTML\010331_00\index.htm
> などのヘッダーも削除して
はできますが、
> さらに改変マークも消したいのですが、
こちらは出来ません。ただしこれらのフラグを変更するマクロの実現は、要
望一覧には書いてあります。

 最初の要望を実現するマクロは、
//-------------- delete X-Html header macro -------------------------
loaddll "tkinfo.dll";
if(dllfuncstr("CurrentHeader","X-Html") == "")goto End;
#header = dllfunc("HeaderView");
if(dllfunc("IsTuruKameMain")){
  if(!dllfunc("OpenMail"))goto Error;
  ##open = 1;
}
##tmp = dllfunc("SwitchHeaderView",2);
if(readonly){
  if(!dllfunc("EnableEdit"))goto Error;
}
gofileend;
while(1){
  searchup "^X-Html:",regular;
  if(y < 0)break;
}
selectline;
delete;
save;
if(##open)quit;
##tmp = dllfunc("SwitchHeaderView",#header);
goto End;

Error:
  message "DLL 関数失敗";
End:
  freedll;
//-------------------------------------------------------------------
では如何でしょうか?

 P.S 引用は最小限にとどめてください。

[ ]
RE:00178 HTMLの削除についてNo.00192
秀まるお2 さん 01/04/02 09:13
 
>  によるダイアログがでてきた後、はいと答えても、HTMLのあるフォルダが削除
> されません。

 実は僕の作ったマクロはファイルを削除するのみで、フォルダは削除しません。
(ってことを言おうと思って言わずじまいだったんですが)

 マクロサーバーにフォルダ削除の機能が無いので実現できなくて…。

[ ]
RE:00184 HTMLの削除についてNo.00203
そろそろ さん 01/04/02 11:12
 
 こんにちは、ひろさん、みなさん。そろそろです。

>(1)マクロサーバは導入していますか?

 導入してます。

>(2)秀丸をインストールしたフォルダにマクロサーボをインストールしてな
>い場合や、秀丸自体をインストールしていない場合、マクロサーバへのパス
>を自分の環境に合わせて書き換えていますか?

 秀丸フォルダに入っています。

>>  それとHTMLファイルの削除と同時に
>> X-Html:   受信HTML\010331_00\index.htm
>> などのヘッダーも削除して
>はできますが、

 手動で、htmlファイルを消した後、
 教えていただいたマクロ
delete X-Html header macro
を使ったところ、htmlのクリップが消えました。とても便利なマクロですね。

 ちょっと気が付いたのですが、最初、ヘッダが「簡略表示」になっていて、
>>#header = dllfunc("HeaderView");
でそれを記憶して
>>##tmp = dllfunc("SwitchHeaderView",#header);
で元に戻しているはずなのに、

 なぜかヘッダが「すべて表示」されています。どうしてでしょうか???

>> さらに改変マークも消したいのですが、
>こちらは出来ません。ただしこれらのフラグを変更するマクロの実現は、要
>望一覧には書いてあります。

 改変マークを消す関数もぜひ実現よろしくお願いします。

[ ]
RE:00192 HTMLの削除についてNo.00204
そろそろ さん 01/04/02 11:12
 
 こんにちは、秀まるお2さん、みなさん。そろそろです。

> 実は僕の作ったマクロはファイルを削除するのみで、フォルダは削除しません。
>(ってことを言おうと思って言わずじまいだったんですが)

 マクロサーバーは立ち上がっているのですが、なぜか、フォルダとindex.htm
ファイルも削除されないです。もう少しテストしてみます。

[ ]
RE:00184 HTMLの削除についてNo.00211
Mattz さん 01/04/02 12:21
 
Mattz です。

秀まるお2さん、ひろさん、ありがとうございます。

早速マクロサーバを導入し、HTML削除マクロを試してみました。
が、うまく行きません。そこでそろそろさんの投稿にあった
「ReadOnly」属性のせいでは、と思って、手動で読取専用
属性をはずして試してみたところ、ファイル削除は出来ましたので、
どうやら、属性の問題のようです。

が、一通りマクロサーバのヘルプを読みましたが、
ファイル属性の変更については見つけられませんでした。
#見落としだったらゴメンナサイ。

また、ひろさんのマクロも試してみましたが、
クリップの絵が消えません。
なぜかと思って Header をよく見ると
「X-Html:」フィールドがありませんでした。
このようなメールに対してマクロを実行すると
無限ループしてしまうようです。

私の環境は
OS:WindowsNT4.0 + SP4
鶴亀:Ver1.02
マクロサーバ:Ver1.4
秀丸エディタ:Ver3.08
です。

またX-Html:フィールドのないhtmlメールは
Microsoft Outlook Express 5.50.4522.1200
から発信されたものでした。

以上、お礼とご報告でした。

[ ]
RE:00192 HTMLの削除についてNo.00218
ひろ さん 01/04/02 13:30
 
 秀まるおさん今日は、ひろです。
>  マクロサーバーにフォルダ削除の機能が無いので実現できなくて…。
ということは、DOS コマンドを呼び出すしかないかなあ〜。

[ ]
RE:00203 HTMLの削除についてNo.00219
ひろ さん 01/04/02 13:30
 
 そろそろさん今日は、ひろです。
>  なぜかヘッダが「すべて表示」されています。どうしてでしょうか???
 私の環境でもテスト段階で起きていたのですが、もう起きなくなってしま
いました。原因はなんなんでしょう(^^;?

[ ]
RE:00211 HTMLの削除についてNo.00249
ひろ さん 01/04/02 18:24
 
 Mattz さん今日は、ひろです。
> 「X-Html:」フィールドがありませんでした。
> このようなメールに対してマクロを実行すると
> 無限ループしてしまうようです。
 X-Html ヘッダがなければ、何もしないでマクロを終了するはずなのですが???

 なお
> またX-Html:フィールドのないhtmlメールは
は、HTML メールではなく単に HTML ファイルが添付されているだけという
ことではありませんか?

 そうであるなら解決方法は、
> if(dllfuncstr("CurrentHeader","X-Html") == "")goto End;
を削除し、
>   searchup "^X-Html:",regular;
>   if(y < 0)break;
の部分を、
  searchup "(^X-Html:|^X-Attach: .+\.(H|h)(T|t)(M|m)(L|l)?$",regular;
  if(y < 0)break;
  else if(result == false)goto End;
とすれば良いと思います。

[ ]
RE:00218 HTMLの削除についてNo.00255
杉浦 まさき さん 01/04/02 23:56
 
横から失礼します。杉浦 まさき です。

>>  マクロサーバーにフォルダ削除の機能が無いので実現できなくて…。
>ということは、DOS コマンドを呼び出すしかないかなあ〜。

手前味噌で何ですけど、田楽鯖・DLLにありますが。


[ ]
RE:00255 HTMLの削除についてNo.00274
ひろ さん 01/04/03 12:33
 
 杉浦 まさきさん今日は、ひろです。
> 手前味噌で何ですけど、田楽鯖・DLLにありますが。
 何時もお世話になっているのでもちろん知っているのですが(^^;、「標準
のツールでは」ということで...。

[ ]