複数のコンピュータで受信+Google デスクNo.00038
Iranoan さん 07/01/24 15:31
 
 皆さん今日は、Iranoan です。
 「Google デスクトップ」との連携させている場合、Ver.4.5 からメール・
データのファイル名を *.tkeml にしていても、上手くメールのインデックス
が作成されません。
http://www.maruo.co.jp/hidesoft/8/x29718_.html#29984
その為、「秀丸メール持ち出しキット」を使って他の PC で受信したメールは、
個別にインデックスを作成しなければいけません。
 そこで質問ですが、メール・データを同期する度に、[既存メールのイン
デックスし直し] のはあまりに無駄なので、他の PC で受信したメールだけ上
手くインデックスを作成する方法はありませんか?

 私が今のところ思いつくのは、
(1) インデックスを作成したい PC でデータ同期
(2) 未読がない状態にする
(3) インデックスを作成したい PC で最後に送受信した時刻を調べる
(4) (2) の時刻以降に送受信したメールを「検索して一覧作成」
(5) (3) のメールを対象に、「受信解析のやり直し」
    →インデックスが作成される
(6) 未読メールを「検索して一覧作成」し全て削除
といった流れです。振り分け処理のことを考えると、他にも必要なことはあり
ますが...。

 他に何かもっと効率の良い方法をご存じでしたらお教えください。

[ ]
RE:00038 複数のコンピュータで受信+GooglNo.00039
秀まるお さん 07/01/24 17:59
 
 実は、TuruKameGDS.dllには、ファイルやメールデータを渡してそれをインデ
ックス化する関数がエクスポートされていて、それはマクロから呼び出して使え
ます。なので、マクロでなんとかするという手はあろうかと思います。

 エクスポートされてるのは、

INDEXINGINSTANCE* _cdecl CreateIndexingInstance();
int _cdecl DestroyIndexingInstance( INDEXINGINSTANCE* );
int _cdecl DoIndexingByFile( INDEXINGINSTANCE* pInst, char* pszFileName );
int _cdecl DoIndexingByMailData( INDEXINGINSTANCE* pInst
                 , char* pszMailData, int cbMailData, char* pszFolder );

 でして、たとえばファイル名が分かっているなら、

    loaddll "......\\TuruKameGDS.dll";
    #inst = dllfunc("CreateIndexingInstance");
    #n = dllfunc("DoIndexingByFile, #inst, "ファイル名");
    #n = dllfunc("DestroyIndexingInstance", #inst);

 みたいな感じでインデックス化が可能です。

 そういう作戦はどうでしょ?

 (テストしたこと無いので、いわゆる人柱になっていただく形になりますが)

[ ]
RE:00039 複数のコンピュータで受信+GooglNo.00040
Iranoan さん 07/01/24 20:32
 
 秀まるおさん今日は、Iranoan です。
>  実は、TuruKameGDS.dllには、ファイルやメールデータを渡してそれをインデ
> ックス化する関数がエクスポートされていて、それはマクロから呼び出して使え
> ます。なので、マクロでなんとかするという手はあろうかと思います。
<snip>
>  (テストしたこと無いので、いわゆる人柱になっていただく形になりますが)
 自動化したいとしたら、この方法のほうが良いかも知れませんね。

 ただ
>     #n = dllfunc("DoIndexingByFile, #inst, "ファイル名");
このファイル名とは、メールが保存してあるデータ(I%ファイルですよね。そう
すると、すべてのフォルダごとで (メール単位ではなく) 更新されている全て
のファイルでインデックスを作成する必要がありますよね。

 さてどちらが効率的なのだろう???
 メール単位でインデックスを作成する関数があれば最高なのですが、取り合
えず教えていただいたマクロを試してみて、実用的かどうか試してみます。

[ ]
RE:00040 複数のコンピュータで受信+GooglNo.00041
秀まるお さん 07/01/25 09:11
 
 とりあえず今日V4.73をアップロードしようと思いますが、それの次のβ版で、
「Googleデスクトップにインデックス化」みたいなコマンドを追加しようかと思
います。

 マウス右ボタンメニューからしか選択出来なくて、しかも「全般的な設定・
メール一覧・右ボタンメニュー」からカスタマイズしないと出てこないコマンド
ということで。

[ ]
RE:00041 複数のコンピュータで受信+GooglNo.00042
Iranoan さん 07/01/25 13:33
 
 秀まるおさん今日は、Iranoan です。
>  とりあえず今日V4.73をアップロードしようと思いますが、それの次のβ版で、
> 「Googleデスクトップにインデックス化」みたいなコマンドを追加しようかと思
> います。
 有り難うございます。
 ただ
>     loaddll "......\\TuruKameGDS.dll";
>     #inst = dllfunc("CreateIndexingInstance");
>     #n = dllfunc("DoIndexingByFile, #inst, "ファイル名");
>     #n = dllfunc("DestroyIndexingInstance", #inst);
が確かに動作するようなので、他のことを優先していただいて構いません。

[ ]