2台のpcにあるフォルダの中身を同じにしNo.08469
styth さん 21/08/10 07:57
 
 パソコンが2台あり、それぞれにあるフォルダがあります。
 この2つのフォルダの内容を同じにしたいのですが、エクスプローラー等で、
どのフォルダをコピーして、上書きすれば良いのかわかりません。
 フォルダの中身は、全て@itemなので、送受信はしていません。
 よろしくお願いいたします。

[ ]
RE:08469 2台のpcにあるフォルダの中身No.08470
秀まるお2 さん 21/08/10 09:29
 
 メール用のフォルダやファイルをコピーしてなんとかするのはやめた方がいいです。

 例えばAパソコンからBパソコンにメールをコピーしたいなら、Aパソコンで対象
メールをエクスポートして、それをBパソコンにインポートする、ということをする
のがいいです。重複したメールがあるようなら、「重複メールのチェック」コマンド
を使えばいいと思います。

[ ]
RE:08470 2台のpcにあるフォルダの中身No.08472
styth さん 21/08/10 23:37
 
> 例えばAパソコンからBパソコンにメールをコピーしたいなら、Aパソコンで対
>象メールをエクスポートして、それをBパソコンにインポートする、ということを
>するのがいいです。重複したメールがあるようなら、「重複メールのチェック」コ
>マンドを使えばいいと思います。
 エクスポートをする時、「追加書き込みする」というのが表示されます。
 これは、どういう動作になるんでしょうか?

[ ]
RE:08472 2台のpcにあるフォルダの中身No.08474
秀まるお2 さん 21/08/12 09:08
 
 例えばA.txtってファイルが既にあったとして、エクスポートする先のファイルと
して同じA.txtってファイルを指定すると、追加書き込みするのかどうかの問い合わ
せが出てきます。

 「追加書き込み」とした場合にはA.txtの既存の内容に追加でエクスポートします。
 「上書きする」とした場合は、既存の内容を消去してエクスポートします。

 そもそも的に、既存のファイルと同じ名前でエクスポートするのは普通やらないこ
とだと思います。

 普通は、例えばUSBメモリを通してメールデータを移行したいなら、まずはそのUSB
メモリの中身を空にするか、あるいはエクスポート用に中身が空のフォルダを用意し
ます。そこにエクスポートするのが普通だと思います。そういうやり方なら、既存の
ファイルに追加書き込みするのかどうかの問い合わせは出ないはずになります。

[ ]
RE:08474 2台のpcにあるフォルダの中身No.08475
styth さん 21/08/12 11:13
 
> 「追加書き込み」とした場合にはA.txtの既存の内容に追加でエクスポートします。
 追加でエクスポートするということは、A.txtをインポートした時に、同じ
メール(重複したメール)ができてしまうということでしょうか?
 重複したメールが出来ないようにする最善の方法を教えて頂けないでしょう
か?

[ ]
RE:08475 2台のpcにあるフォルダの中身No.08476
秀まるお2 さん 21/08/12 13:49
 
>  重複したメールが出来ないようにする最善の方法を教えて頂けないでしょう
> か?

 重複したメールが発生しないようにエクスポート/インポートさせることは出来な
いので、インポートした後に「重複メールのチェック」コマンドにてにて重複メール
を削除すればいいです。

 エクスポートの時に「追加書き込みする/上書きする」の問い合わせが出る件につ
いては、繰り返しになりますが、エクスポートを実行する前にエクスポート先のUSB
メモリを空にしてやればいいはずです。

 1.USBメモリを空にする。
 2.同期させたいメールをすべて選択してから「ファイル・エクスポート」で
   対象メールをUSBメモリにエクスポートする。
 3.USBメモリを別PCに接続して、先ほどエクスポートしたメールをインポートする。
 4.「重複メールのチェック」コマンドで重複メールがないかチェックする。

 でいいと思います。


[ ]
RE:08476 2台のpcにあるフォルダの中身No.08477
styth さん 21/08/13 18:57
 
> 重複したメールが発生しないようにエクスポート/インポートさせることは出来な
>いので、インポートした後に「重複メールのチェック」コマンドにてにて重複メー
>ルを削除すればいいです。

 要望が2点あります。
1.
「1つだけ残す」で残すメールの決定方法(上の方が優先順位が高い)、のとこ
ろで、
「編集(保存)した日が新しい方を残す」オプションを追加して頂けないでしょ
うか?
 私がやりたいのはスレッドの最初で申しましたように、@itemが入ったフォル
ダです。編集等で追加・削除した場合は、サイズの大小で残すかどうか決めるの
では、都合が悪いです。

2.
 重複メールの削除方法、で削除対象になったメールを自分の指定したフォルダ
に入れたいのですが。
 ゴミ箱に移動だと、インポートではじかれたメールと、以前に自分でゴミ箱に
入れたメールがごっちゃになってしまいます。
 重複してはじかれたメールを再度確認するのに、自分の指定したフォルダがあ
れば、見やすいです。(その後、削除するとしても)

(追伸)しつこいようですが、
 ホームページに記載の以下の説明を拝見すると、
「C:\TuruKameData」配下のフォルダなら、フォルダごと、別のパソコンにコ
ピーしても、@itemしか入っていないフォルダなら、送受信も関係ないし、問題
なく行けそうですが、やはり駄目でしょうか?

> 新しいパソコンへの設定内容の引っ越し手順 更新日 : 2013/04/05

> 秀丸メール
>古いパソコンの中にある秀丸メール用のメールデータを、まるごと、USBメモリやUS
>B接続ハードディスク類に保存する。
> 秀丸メールのメールデータは、普通に秀丸メールをインストールした場合なら、
>「C」ドライブに「TuruKameData」という名前で存在しています。
> 秀丸メールの「設定・全般的な設定...」の「基本」ページの中にある「ホームデ
>ィレクトリ」にて確認出来ます。

>「設定・設定内容の保存/復元...」で、現在の秀丸メールの設定をファイルに保存
>しておく。保存したファイルもUSBメモリ類にコピーしておく。
>新しいパソコンに秀丸メールをインストールする。
>新しいパソコンに、USBメモリ類にコピーしておいたメールデータをコピーする。
>(同じ「C:\TuruKameData」にコピーするのがおすすめです。)
>新しいパソコンの秀丸メールを起動し、「設定・設定内容の保存/復元...」で設定
>内容を復元する。

[ ]
RE:08477 2台のpcにあるフォルダの中身No.08479
秀まるお2 さん 21/08/17 08:59
 
> 「編集(保存)した日が新しい方を残す」オプションを追加して頂けないでしょ
> うか?

 情報アイテムの場合、編集することで送受信日時が書き換わります。なので、「送
受信日時の新しい方を残す」ってことでオプション追加してみます。(次のβ版で)

 ただし、後の話と関係しますが他のパソコンからエクスポートしてインポートした
メールは、元々のメールの送受信日時はインポートされないです。

>  重複メールの削除方法、で削除対象になったメールを自分の指定したフォルダ
> に入れたいのですが。

 すみませんがこれは対応不可とさせていただきます。

 重複メールのチェックでの「追加のフォルダ」との兼ね合いで無限ループになって
しまう可能性があるので、無限ループしないようなチェックを追加しないといけない
ので大変だし、ちょっと要望自体がマニアックすぎるかと思うし、重複メールのチェ
ックダイアログも限界です。

 ゴミ箱にあるメールをどこか別の所に移動してから重複メールチェックを実行する
か、またはゴミ箱フォルダでのメールの並び順を「このフォルダでのメールの発生
順」にして、手作業でどのメールだったか見分けるなどでお願いします。

> 「C:\TuruKameData」配下のフォルダなら、フォルダごと、別のパソコンにコ
> ピーしても、@itemしか入っていないフォルダなら、送受信も関係ないし、問題
> なく行けそうですが、やはり駄目でしょうか?

 エクスポート/インポートしたのでは、メールの送受信日時がうまく伝達されませ
ん。なので、あえてメール用ファイルを無理矢理コピーしてもらった方がいいかと思
います。

 HTMLメールでも無くて添付ファイルも無くて、さらにはフォルダにあるメール全部
を移行させるのであれば、フォルダ内のファイルすべてをまるごとコピーしても大丈
夫ではあります。ただし、名前が重なるファイルを上書きしてしまうと既存のメール
が無くなってしまうので、上書きはせず、名前を変えてコピーしないといけないです。

[ ]
RE:08479 2台のpcにあるフォルダの中身No.08482
styth さん 21/08/17 23:44
 
> 情報アイテムの場合、編集することで送受信日時が書き換わります。なので、
>「送受信日時の新しい方を残す」ってことでオプション追加してみます。(次のβ
>版で)
 よろしくお願いいたします。

>>  重複メールの削除方法、で削除対象になったメールを自分の指定したフォルダ
>> に入れたいのですが。
> すみませんがこれは対応不可とさせていただきます。
 残念ですが、承知しました。

> ゴミ箱にあるメールをどこか別の所に移動してから重複メールチェックを実行す
>るか、またはゴミ箱フォルダでのメールの並び順を「このフォルダでのメールの発
>生順」にして、手作業でどのメールだったか見分けるなどでお願いします。
 「このフォルダでのメールの発生順」というソートキーがあるんですね。

 とすれば、例えば、最近1週間の情報アイテムだけをエクスポート・インポー
トする、という風にすれば、ゴミ箱にある重複したメールを手作業でするとして
も、簡単そうです。
 なので、不躾なお願いで恐縮なのですが、
 あるフォルダのここ1週間に新設・編集されたメール(情報アイテム)だけを
抽出して、エクスポートするというマクロを作って頂くわけには、いかなでしょ
うか?
 「何日前からの情報アイテムを抽出しますか?」とか聞いてきたり、
 @.item以外はエクスポートしない。
 という風になれば、大変ありがたいです。


(追伸)
 マクロのヘルプを見ている時に誤字らしきものを見つけたので、報告させて頂
きます。

>DoGrep, StartDoGrep, DoGrepAppend, StartDoGrepAppend, DoGrep2, StartDoGrep2
>関数(TKInfo.dll)
>検索に時間がかかる場合に検索を実行してるのと平行して何らかの操作をして、

「平行」×
「並行」〇(多分こちらが正しい)

[ ]
RE:08482 2台のpcにあるフォルダの中身No.08485
秀まるお2 さん 21/08/18 10:17
 
 情報アイテムを2台のパソコンで同期させたいってことがそもそも的な目的なんだ
ろうと思うので、なんとかそれが簡単に実現できるように対策を考えてみます。

 とりあえず、「重複メールのチェック」で「送受信日時の新しい方を残す」のオプ
ション追加は対応した所ですが、それだけではいかんともしがたいと思います。

 前の話と関係しますが、普通にエクスポートしてインポートしたので、メールの送
受信日時をうまく引き継ぐことが出来ないです。なので、もし「エクスポートしてイ
ンポートして重複メールチェック」の作戦でやるとしたら、「インポートしたメール
の送受信日時をファイルのタイムスタンプと同じにする」みたいなインポート用のオ
プションも必要になると思います。

 その上でさらにマクロも作るということで・・・

 とりあえずそういう作戦しか無いのかもしれません。

 IMAPの同期モードを使ってなんとか出来るかもしれないですが、メールの書き換え
(改変)を同期させることは出来ずです。

 こんな面倒なことするよりは、OneDriveとかのクラウドストレージで普通にテキス
トファイルでやってもらった方がいいような気もします。

 もうちょっと考えます。

> 「平行」×
> 「並行」〇(多分こちらが正しい)

 ご指摘ありがとうございます。さっそく修正させていただきます。

[ ]
RE:08485 2台のpcにあるフォルダの中身No.08486
秀まるお2 さん 21/08/18 16:32
 
 とりあえずマクロを作るとしたら、

 1.エクスポート用とインポート用の2つのマクロを作らないといけない。
 2.エクスポート先のフォルダをどうするのか、例えばUSBメモリのどこそこの
   フォルダとかであれば、そのUSBメモリの名前やフォルダ名が分からないと
   マクロを作られない。
 3.エクスポートする対象のアカウント名やフォルダ名が分からないとダメ。
   もしかして複数のフォルダがあるとしたら、それら全部リストアップして
   もらわないとダメだし、その分マクロも難しくなる。
 4.インポートする側のパソコンでのUSBメモリのドライブ名が決まってない
   とダメ。
 5.インポートする側のパソコンのアカウント名やフォルダ名も分からないといけ
ない。

 といった感じです。

 なので、ちょっと現段階ではなんとも作りようが無い状況です。

 全部とりあえず仮にこんなアカウント名/フォルダ名/USBドライブでってことにし
て、だいたいこんな感じでって風にマクロを作って差し上げて、それを元にご自身で
カスタマイズされるとかでしたら、それなりの物は提供できるかと思いますけども。

[ ]
RE:08486 2台のpcにあるフォルダの中身No.08487
styth さん 21/08/18 23:33
 
> 2.エクスポート先のフォルダをどうするのか、例えばUSBメモリのどこそこの
>   フォルダとかであれば、そのUSBメモリの名前やフォルダ名が分からないと
>   マクロを作られない。
 ドライブ名は、Eで、固定です。
 フォルダ名は、仮の名称で構いません。

> 3.エクスポートする対象のアカウント名やフォルダ名が分からないとダメ。
>   もしかして複数のフォルダがあるとしたら、それら全部リストアップして
>   もらわないとダメだし、その分マクロも難しくなる。
 アカウント名やフォルダ名、仮の名称で構いません。
 複数のフォルダは、ありません。

> 4.インポートする側のパソコンでのUSBメモリのドライブ名が決まってない
>   とダメ。
 ドライブ名は、Eで、固定です。

> 5.インポートする側のパソコンのアカウント名やフォルダ名も分からないとい
>けない。
> といった感じです。
 アカウント名やフォルダ名、仮の名称で構いません。

> 全部とりあえず仮にこんなアカウント名/フォルダ名/USBドライブでってことにし
>て、だいたいこんな感じでって風にマクロを作って差し上げて、それを元にご自身
>でカスタマイズされるとかでしたら、それなりの物は提供できるかと思いますけども。
 そうして頂けると幸いです。よろしくお願いいたします。


[ ]
RE:08487 2台のpcにあるフォルダの中身No.08488
秀まるお2 さん 21/08/19 15:25
 
 秀丸メールのVersion 7.10β2をアップロードしました。これでいろいろ今回の件
の対応をしています。

 重複メールのチェックで、送受信日時の新しい方を残す用のオプション追加と、あ
と、インポート時に、インポートしたメールの送受信日時をファイルの更新日時と同
じにするオプション追加をしています。マクロからも使えるようにしました。

 これを使って、ご要望の件のマクロも作られるようになりまして、以下のようにな
りました。マクロの先頭にある一時ファイル用のフォルダ、対象アカウント、対象フ
ォルダの所だけ書き換えればおおよそそのまま使えると思います。

-----------------------------------------------------------------------------
    //特定フォルダの最近7日間に更新された情報アイテムをエクスポートするマク
ロ。
    //
    $exportDestFolder = "e:\\temp\\InfoItemFolder";     //ここを書き換える。
    $infoItemAccount = "斉藤秀夫メイン";                //インポート先アカウ
ント名
    $infoItemFolder = "User\\Report";                   //インポート先フォル
ダ名

    if( ! existfile( $exportDestFolder ) ) {
        message $exportDestFolder + " が存在しません。フォルダを作ってからマ
クロ実行してください。";
        endmacro;
    }
    if( existfile( $exportDestFolder + "\\*.txt" ) ) {
        message $exportDestFolder + " に既にテキストファイルが存在しています。
空にしてからマクロを実行してください。";
        endmacro;
    }

    loaddll "tkinfo.dll";
    #n = dllfunc("SetJapaneseCodePageMode", 1);
    #n = dllfunc("SelectFolder",$infoItemAccount, $infoItemFolder);
    #n = dllfunc("SetThreadView", 0);       //一覧表示(スレッド表示じゃない)
    #n = dllfunc("SetSortMethod", 4);       //並び順 = 送受信日時 = 情報アイ
テムの更新日時
    #n = dllfunc("SetViewArea", 0);     //範囲 = 全体
    #n = dllfunc("SelectPane", 1);
    #mailcount = dllfunc("MailCount");
    if( #mailcount == 0 ) {
        message "このフォルダにメールがありません。";
        endmacro;
    }
    $findpackPrev = dllfuncstr("GetFindPack");
    #n = dllfunc("SetMailIndex", 0);
    #n = dllfunc("SetFindPack", "(\"@.item\", target=to), flag=transmit=7日
前-指定なし, hilight=0");
    #top = dllfunc("FindDownInclude");
    if( #top == 0 ) {
        //見つからない場合は何もしない
        message "エクスポートする対象メール(最近7日間に更新された情報アイ
テム)はありません。";
    } else {
        #exportcount = 0;
        while(1) {
            #n = dllfunc("Export", $exportDestFolder, "emltxt-date", "encode
-attach", "", "", "transmittimestamp");
            if( #n == 0 ) {
                message "エクスポートでエラーが発生しました。マクロを中断し
ます。";
                break;
            }
            #exportcount = #exportcount + 1;
            #n = dllfunc("FindDown");
            if( #n == 0 ) {
                break;
            }
        }
        message str(#exportcount) + "通のメールをエクスポートしました。";
    }
    #n = dllfunc("SetFindPack", $findpackPrev);
    endmacro;



-----------------------------------------------------------------------------
    //エクスポートされた情報アイテムをインポートして重複した古い情報アイテム
を削除するマクロ。
    //
    $importSourceFolder = "e:\\temp\\InfoItemFolder";   //インポート元のフォ
ルダのパス名
    $infoItemAccount = "斉藤秀夫メイン";                //インポート先アカウ
ント名
    $infoItemFolder = "User\\Report";                   //インポート先フォル
ダ名

    #ver = dllfunc("HidemaruMailVersion");
    if( #ver < 710 ) {
        message "秀丸メールのバージョンが古いです。Version 7.10以上が必要で
す。";
        endmacro;
    }

    if( ! existfile( $importSourceFolder ) ) {
        message $importSourceFolder + " が存在しません。マクロを中断します。";
        endmacro;
    }
    if( ! existfile( $importSourceFolder + "\\*.txt" ) ) {
        message $importSourceFolder + " にインポート用のテキストファイルが存
在ません。マクロを中断します。";
        endmacro;
    }

    loaddll "tkinfo.dll";
    #n = dllfunc("SetJapaneseCodePageMode", 1);
    #n = dllfunc("SelectFolder",$infoItemAccount, $infoItemFolder);
    if( #n == 0 ) {
        message "インポート先のフォルダがありません。";
        endmacro;
    }

    #n = dllfunc("Import", $importSourceFolder + "\\*.txt", "eml", "", "", "
tfiletimestamp", "", "nospamfilter");
    if( #n == 0 ) {
        message "インポートされたメールがありませんでした。";
        endmacro;
    }
    #n = dllfunc("SetDuplicationCheckOption", "checkdate+prioritynew");
    #prevCount = dllfunc("MailCountAll");
    #n = dllfunc("CheckDuplication", "batch", "", "", "", "");
    #deletedCount = #prevCount - dllfunc("MailCountAll");
    if( #deletedCount != 0 ) {
        message str(#deletedCount) + "通のメールが「重複メールのチェック」に
てゴミ箱に移動しました。移動したメールはゴミ箱フォルダを選択してメールの並び
順を「このフォルダ上でのメール発生順」にして一番最新の" + str(#deletedCount)
 + "通となります。";

        //削除されたメールを確認できるようにする処理。
        //question str(#deletedCount) + "通のメールが「重複メールのチェッ
ク」にてゴミ箱に移動しました。移動したメールを今確認しますか?";
        //if( result == yes ) {
        //  #n = dllfunc("SelectFolder", "", "ゴミ箱");
        //  #n = dllfunc("SetThreadView", 0);       //一覧表示(スレッド表示
じゃない)
        //  #n = dllfunc("SetSortMethod", 140);     //並び順 = このフォルダ
でのメール発生順
        //  #n = dllfunc("SetViewArea", 0);     //範囲 = 全体
        //  #n = dllfunc("SelectPane", 1);
        //  #n = dllfunc("SimulateKeyStroke", 0x23, 0, 0, 0 );      //End
キー、VK_END
        //  #i = 1;     //1から始める
        //  while( #i < #deletedCount ) {
        //      #n = dllfunc("SimulateKeyStroke", 0x26, 1, 0, 0 );      //Sh
ift+上矢印キー、VK_UP
        //      #i = #i + 1;
        //  }
        //}
    }

[ ]
RE:08488 2台のpcにあるフォルダの中身No.08491
styth さん 21/08/20 00:07
 
 ありがとうございます。とりあえず、手元のパソコンでインポート・エクス
ポートを実行したかぎりでは、良さそうです。
 明日以降、別のパソコンのUSBからインポートして、使ってみたいと思います。

 ところで、
>    #n = dllfunc("SetFindPack", "(\"@.item\", target=to), flag=transmit=7日
>前-指定なし, hilight=0");
 と、7日、固定なんですが、10日とか30日とか、可変にするには、どう直した
ら、良いんでしょうか?

[ ]
RE:08491 2台のpcにあるフォルダの中身No.08492
秀まるお2 さん 21/08/20 08:40
 
>  と、7日、固定なんですが、10日とか30日とか、可変にするには、どう直した
> ら、良いんでしょうか?

 「7」の数字を任意に書き換えて大丈夫です。

    #n = dllfunc("SetFindPack", "(\"@.item\", target=to), flag=transmit=10日
前-指定なし, hilight=0");

 検索条件の式は、検索ダイアログで実際に条件を指定して一度検索をかけて、その
後検索ダイアログをもう一度呼び出して、ウィンドウ左上の「▼」アイコンをクリッ
クして出てくるシステムメニューの中の履歴を見てもらうのが分かりやすいと思いま
す。

[ ]
RE:08492 2台のpcにあるフォルダの中身No.08493
styth さん 21/08/20 09:55
 
>    #n = dllfunc("SetFindPack", "(\"@.item\", target=to), flag=transmit=10
>日前-指定なし, hilight=0");
 コードを書き換えないで、INPUT文でやりたいのですが、よろしくお願いいたします。

$dd=input( "何日前からの情報アイテムを抽出しますか?", "7", 0x01 ); //画面の
中央
if ( !result ) endmacro;

$findpackPrev = dllfuncstr("GetFindPack");
#n = dllfunc("SetMailIndex", 0);
#n = dllfunc("SetFindPack", "(\"@.item\", target=to), flag=transmit=val($dd)
日前-指定なし, hilight=0");

 では、だめでした。(エラー表示後、全件のエクスポートも実行されてしまいまし
た。)

[ ]
RE:08493 2台のpcにあるフォルダの中身No.08494
秀まるお2 さん 21/08/20 10:03
 
 動作確認してませんが、

    #n = dllfunc("SetFindPack", "(\"@.item\", target=to), flag=transmit=" +
$dd + "日前-指定なし, hilight=0");

 でいけるはずです。

[ ]
RE:08488 2台のpcにあるフォルダの中身No.08497
styth さん 21/08/21 00:22
 
 このマクロは、情報アイテムに添付ファイルがあって実行しても、大丈夫ですか?

[ ]
RE:08486 全然、違う件なのですがNo.08498
styth さん 21/08/21 08:31
 
 全然、違う話で申し訳ないんですが、

 以下のように整形するにのに、マクロを使っていると思うのですが、そのマクロを
教えていただけないでしょうか?
 よろしくお願いいたします。


1.エクスポート用とインポート用の2つのマクロを作らないといけない。
2.エクスポート先のフォルダをどうするのか、例えばUSBメモリのどこそこの
  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  マクロを作られない。
3.エクスポートする対象のアカウント名やフォルダ名が分からないとダメ。
  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  もらわないとダメだし、その分マクロも難しくなる。
4.インポートする側のパソコンでのUSBメモリのドライブ名が決まってない
  とダメ。
5.インポートする側のパソコンのアカウント名やフォルダ名も分からないといけな
い。

[ ]
RE:08497 2台のpcにあるフォルダの中身No.08502
秀まるお2 さん 21/08/23 08:48
 
 添付ファイルがあっても大丈夫なように作ったもつりでしたが、今ちょっとテスト
してみたらうまくいかないようです。そもそも添付ファイル無しの場合でも情報アイ
テムとしてインポートされず、普通の受信系メールになってしまいます。

 マクロまた修正してみます。少々お待ちください。

[ ]
RE:08502 2台のpcにあるフォルダの中身No.08508
秀まるお2 さん 21/08/23 11:31
 
 インポートする用のマクロの方を直しました。

 エクスポートする用のマクロは前回そのままで大丈夫です。

 修正点:
  − インポートしたメールがうまく情報アイテム化してなかったバグ修正。
  − 添付ファイルが自動削除されてしまうことがあったバグ修正。

 です。

 これらマクロはあくまで僕の環境で動作確認しただけの物なので、うまく動かない
可能性も多々あります。ご自身で動作確認していただかないといけないです。

----------------------------------------------------------------------------
----
    //エクスポートされた情報アイテムをインポートして重複した古い情報アイテム
を削除するマクロ。
    //
    $importSourceFolder = "e:\\temp\\InfoItemFolder";   //インポート元のフォ
ルダのパス名
    $infoItemAccount = "斉藤秀夫メイン";                //インポート先アカウ
ント名
    $infoItemFolder = "User\\Report";                   //インポート先フォル
ダ名

    #ver = dllfunc("HidemaruMailVersion");
    if( #ver < 710 ) {
        message "秀丸メールのバージョンが古いです。Version 7.10以上が必要で
す。";
        endmacro;
    }

    if( ! existfile( $importSourceFolder ) ) {
        message $importSourceFolder + " が存在しません。マクロを中断します。";
        endmacro;
    }
    if( ! existfile( $importSourceFolder + "\\*.txt" ) ) {
        message $importSourceFolder + " にインポート用のテキストファイルが存
在ません。マクロを中断します。";
        endmacro;
    }

    loaddll "tkinfo.dll";
    #n = dllfunc("SetJapaneseCodePageMode", 1);
    #n = dllfunc("SelectFolder",$infoItemAccount, $infoItemFolder);
    if( #n == 0 ) {
        message "インポート先のフォルダがありません。";
        endmacro;
    }

    //添付ファイルの自動削除を無しにしないといけない!
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    $AutoDeleteWildcard = getregstr("AutoDeleteWildcard");
    writeregstr "AutoDeleteWildcard", "";
    closereg;
    #n = dllfunc("EnvChangedDanger");

    #importCount = dllfunc("Import", $importSourceFolder + "\\*.txt", "eml",
 "", "", "tfiletimestamp", "", "nospamfilter");


    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    writeregstr "AutoDeleteWildcard", $AutoDeleteWildcard;
    closereg;
    #n = dllfunc("EnvChangedDanger");

    if( #importCount == 0 ) {
        message "インポートされたメールがありませんでした。";
        endmacro;
    }

    //情報アイテムを送信系にしないといけない。
    #sortmethod = dllfunc("SortMethod");
    #n = dllfunc("SetThreadView", 0);       //一覧表示(スレッド表示じゃない)
    #n = dllfunc("SetSortMethod", 140);     //並び順 = このフォルダでのメー
ル発生順
    #n = dllfunc("SetViewArea", 0);     //範囲 = 全体
    #n = dllfunc("SelectPane", 1);
    #totalCount = dllfunc("MailCount");
    #i = #totalCount - #importCount;
    while( #i < #totalCount ) {
        #n = dllfunc("SetMailIndex", #i);
        $to = dllfuncstr("CurrentHeader", "To");
        $to = dllfuncstr("ToLower", $to);
        if( strstr( $to, "@.item" ) >= 0 ) {
            if( dllfunc("GetMailFlag", "send") == 0 ) {
                #n = dllfunc("SetMailFlag", "send", 1);
            }
        }
        #i = #i + 1;
    }
    #n = dllfunc("SetSortMethod", #sortmethod);


    #n = dllfunc("SetDuplicationCheckOption", "checkdate+prioritynew");
    #prevCount = dllfunc("MailCountAll");
    #n = dllfunc("CheckDuplication", "batch", "", "", "", "");
    #deletedCount = #prevCount - dllfunc("MailCountAll");
    if( #deletedCount != 0 ) {
        message str(#deletedCount) + "通のメールが「重複メールのチェック」に
てゴミ箱に移動しました。移動したメールはゴミ箱フォルダを選択してメールの並び
順を「このフォルダ上でのメール発生順」にして一番最新の" + str(#deletedCount)
 + "通となります。";

        //削除されたメールを確認できるようにする処理。
        //question str(#deletedCount) + "通のメールが「重複メールのチェッ
ク」にてゴミ箱に移動しました。移動したメールを今確認しますか?";
        //if( result == yes ) {
        //  #n = dllfunc("SelectFolder", "", "ゴミ箱");
        //  #n = dllfunc("SetThreadView", 0);       //一覧表示(スレッド表示
じゃない)
        //  #n = dllfunc("SetSortMethod", 140);     //並び順 = このフォルダ
でのメール発生順
        //  #n = dllfunc("SetViewArea", 0);     //範囲 = 全体
        //  #n = dllfunc("SelectPane", 1);
        //  #n = dllfunc("SimulateKeyStroke", 0x23, 0, 0, 0 );      //End
キー、VK_END
        //  #i = 1;     //1から始める
        //  while( #i < #deletedCount ) {
        //      #n = dllfunc("SimulateKeyStroke", 0x26, 1, 0, 0 );      //Sh
ift+上矢印キー、VK_UP
        //      #i = #i + 1;
        //  }
        //}
    }

[ ]
RE:08498 全然、違う件なのですがNo.08509
秀まるお2 さん 21/08/23 11:34
 
 この前作ったマクロをご自身で適当に直してテストしてもらうしかありません。

 マクロの先頭付近を直す形になります。その辺分かるようにコメントを書いたつも
りです。

 何かうまくいかない所があれば、例えばどこをどう直してどういうエラーが出たと
か、その辺の詳しい話を教えていただければ、出来る範囲でお返事は出来ると思いま
す。

[ ]
RE:08509 秀丸エディタの話ですNo.08510
styth さん 21/08/23 11:50
 
> この前作ったマクロをご自身で適当に直してテストしてもらうしかありません。
 すみません。このスレッドに繋げたの行けなかったのかもしれません。
 秀丸エディタ(秀丸メールの話ではなく)のマクロで、

1.・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
2.・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  ・・・・・・・・・。
3.・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  ・・・・。

 上記のように、文頭に連番がある文章を整形するのに、秀丸エディタで、マク
ロをお使いだとしたら、秀丸エディタのマクロを教えて下さい、というお願いで
す。
 よろしくお願いいたします。

 あくまで、秀丸エディタの話です。すみません。

[ ]
RE:08510 秀丸エディタの話ですNo.08511
秀まるお2 さん 21/08/23 12:01
 
 ご質問の意味がよく分からず、大変失礼しました。

 僕の書いてる文章の「1.....」などは、全部手作業で書いてます。マクロなどは
使ってません。

 一応、「箇条書き 秀丸 マクロ」とか「連番 秀丸 マクロ」のようなキーワー
ドでネット検索すると、それらに関係したマクロは出てくるようです。

 例えばこんなマクロはあるようです。

 http://officetanaka.net/library/sample/insrenban_sample.htm

[ ]
RE:08511 秀丸エディタの話ですNo.08512
styth さん 21/08/23 14:45
 
> 一応、「箇条書き 秀丸 マクロ」とか「連番 秀丸 マクロ」のようなキー
>ワードでネット検索すると、それらに関係したマクロは出てくるようです。
 ありがとうございます。
 いくつか、試してみましたが、思っているものでは、ありませんせんでした。
 本来の秀丸マクロの方で、聞いてみたいと思います。

[ ]