マクロ 公開データ (2000.10~2008.01)
[1076] Mozilla-gumi BBSスレッド接続マクロ - tsune <> 03/12/31 22:25
└[1077] (修正版)Mozilla-gumi BBSスレッド接続マクロ - tsune <> 04/03/03 23:46
└[1078] 補足説明 - tsune <> 04/03/06 20:03
└[1079] 追加 - tsune <> 04/03/08 23:00
└[1082] re1:Mozilla-gumi BBSスレッド接続マクロ - tsune <> 04/08/23 01:28
Subject: [1076] Mozilla-gumi BBSスレッド接続マクロ
Date: Wed, 31 Dec 2003 22:25:32 +0900
From: tsune <>
こんばんは。 tsuneです。
bbx投稿掲示板に別途投稿しました Mozilla-gumi BBS用bbxで取り込んだ書
き込みのスレッドを構築するための専用マクロです。
実行すると、選択中の書き込みのヘッダに In-Reply-To: を付加します。
スレッドは直ちには反映されませんが、別のフォルダを一旦アクティブにす
るか、メールリスト欄の件名欄などを何回か繰り返してクリックすると、スレ
ッドが繋がった状態になります。
「In-Reply-To:を探して番号を置き換え。」以下の行を有効にすると、既存
のIn-Reply-To:ヘッダを書き換えます。無効のままでは、繰り返し実行すると
In-Reply-To:ヘッダが実行した数だけ追加されます。実害はなさそうですが。
デフォルトで無効にしてあるのは、In-Reply-To:が生成されない bbx の場合
に検索エラー音がうるさいからです。
私は、このマクロに Alt+Shift+C を割り付け、新着通知表示画面でメー
ルを見るときに C を押すことでスレッドを繋いでいます(「メーラ部では1キ
ーアクションを許可」が有効にしてあります。)。
// Start of EdMax Macro
CHAR MacroComment[] = "Mozilla-gumi BBSのスレッド接続"
// 末尾に親発言の番号が取り込まれていることが前提
// #----------------------* Prolog
SaveMailEditHeaderEditMode( ) ; //保存:メール編集+ヘッダ編集
OnHeaderEdit( ) ; //ON:メール編集+ヘッダ編集
SaveCurrentAutoFormSwitch( ) ; //保存:自動整形ON/OFF
OffAutoForm( ) ; //OFF:自動整形
SaveCurrentFindCondition( ) ; //保存:検索条件
// #----------------------* 参照番号を複写
SetFocusToView( ) ; //フォーカス:ビュー画面へ
FindString( TRUE , FALSE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , "前の記事(元になった記事)" ) ; //文字列の検索(次を検索)
IfStringNotFound( 10 ) ; //「前の記事(元になった記事)」が存在しない場合はEpilogへ
FindString( TRUE , FALSE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , "mode=one&namber=" ) ;
//文字列の検索(次を検索)
IfStringNotFound( 8 ) ; //「mode=one&namber=」が存在しない場合はEpilogへ
KeyDown( VK_RIGHT , 0 ) ; //→キー
KeyDown( VK_END , 3 ) ; //Ctrl+Shift+Endキー
CopyString( ) ; //コピー
KeyDown( VK_HOME , 2 ) ; //Ctrl+Homeキー:メール先頭へ
// #----------------------* In-Reply-To:を探して番号を置き換え。
// このブロックを有効にしたときは、「参照番号を複写」ブロックの2箇所の IfStringNotFound の数値を7ずつ増加して下さい。
//FindString( TRUE , FALSE , FALSE , TRUE , FALSE , TRUE , FALSE , FALSE , FALSE , "^In-Reply-To: <mozgumi_@_bbs." ) ; //文字列の検索(次を検索)
//IfStringNotFound( 5 ) ; //行頭から始まる「In-Reply-To: 」が存在しない場合は生成ステップへ
//KeyDown( VK_RIGHT , 0 ) ; //→キー
//KeyDown( VK_END , 1 ) ; //Shift+Endキー
//KeyDown( VK_LEFT , 1 ) ; //Shift+←キー
//PasteString( ) ; //貼り付け
//IfStringFound( 4 ) ; //行頭から始まる「In-Reply-To: 」が存在した場合は生成ステップをスキップ
// #----------------------* メールの先頭にIn-Reply-To:を生成、貼り付け
InsertString( "In-Reply-To: <mozgumi_@_bbs." ) ; //文字入力
PasteString( ) ; //貼り付け
InsertString( ">" ) ; //文字入力
InsertString( "\r\n" ) ; //改行
// #----------------------* Epilog
SetFocusToList( ) ; //フォーカス:リスト画面へ
DoRead( ) ; //既読にする
JumpToNextMessage( ) ; //次のメールへ
RestoreMailEditHeaderEditMode( ) ; //復元:メール編集+ヘッダ編集
RestoreAutoFormSwitch( ) ; //復元:自動整形ON/OFF
RestoreCurrentFindCondition( ) ; //復元:検索条件
// End of EdMax Macro
Subject: [1077] (修正版)Mozilla-gumi BBSスレッド接続マクロ
Date: Wed, 03 Mar 2004 23:46:02 +0900
From: tsune <>
こんばんは。 tsuneです。
少し修正しました。
修正点は、「操作する毎にいくつでも In-Reply-To:が追加される」ことの
解消です。但し、このマクロで処理する前にヘッダが既に存在する場合の検出
は、「置き換え」ブロックを有効にする必要があります。
また、「既読にする」の標準設定を無効に変更しました。
もし、おかしな点があれば、EdMax掲示板でお知らせ下さい。
// Start of EdMax Macro
CHAR MacroComment[] = "Mozilla-gumi BBSのスレッド接続"
// 末尾に親発言の番号が取り込まれていることが前提
// 作成:1.00(12/13/2003)
// 変更:1.10(03/03/2004):操作する毎にいくつでも In-Reply-To:が追加されることの対策。
// #----------------------* Prolog
SaveMailEditHeaderEditMode( ) ; //保存:メール編集+ヘッダ編集
OnHeaderEdit( ) ; //ON:メール編集+ヘッダ編集
SaveCurrentAutoFormSwitch( ) ; //保存:自動整形ON/OFF
OffAutoForm( ) ; //OFF:自動整形
SaveCurrentFindCondition( ) ; //保存:検索条件
// #----------------------* 参照番号を複写
SetFocusToView( ) ; //フォーカス:ビュー画面へ
FindString( TRUE , FALSE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , "前の記事(元になった記事)" ) ; //文字列の検索(次を検索)
IfStringNotFound( 10 ) ; //「前の記事(元になった記事)」が存在しない場合はEpilogへ
FindString( TRUE , FALSE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , "mode=one&namber=" ) ; //文字列の検索(次を検索)
IfStringNotFound( 8 ) ; //「mode=one&namber=」が存在しない場合はEpilogへ
DeleteString( ) ; //Deleteキー(「mode=one&namber=」を削除。)03/03/2004追加。
KeyDown( VK_END , 3 ) ; //Ctrl+Shift+Endキー
CopyString( ) ; //コピー
KeyDown( VK_HOME , 2 ) ; //Ctrl+Homeキー:メール先頭へ
// #----------------------* In-Reply-To:を探して番号を置き換え。
// このブロックを有効にしたときは、「参照番号を複写」ブロックの2箇所の IfStringNotFound の数値を7ずつ増加して下さい。
//FindString( TRUE , FALSE , FALSE , TRUE , FALSE , TRUE , FALSE , FALSE , FALSE , "^In-Reply-To: <mozgumi_@_bbs." ) ; //文字列の検索(次を検索)
//IfStringNotFound( 5 ) ; //行頭から始まる「In-Reply-To: 」が存在しない場合は生成ステップへ
//KeyDown( VK_RIGHT , 0 ) ; //→キー
//KeyDown( VK_END , 1 ) ; //Shift+Endキー
//KeyDown( VK_LEFT , 1 ) ; //Shift+←キー
//PasteString( ) ; //貼り付け
//IfStringFound( 4 ) ; //行頭から始まる「In-Reply-To: 」が存在した場合は生成ステップをスキップ
// #----------------------* メールの先頭にIn-Reply-To:を生成、貼り付け
InsertString( "In-Reply-To: <mozgumi_@_bbs." ) ; //文字入力
PasteString( ) ; //貼り付け
InsertString( ">" ) ; //文字入力
InsertString( "\r\n" ) ; //改行
// #----------------------* Epilog
SetFocusToList( ) ; //フォーカス:リスト画面へ
//DoRead( ) ; //既読にする(03/03/2004無効化。)
JumpToNextMessage( ) ; //次のメールへ
RestoreMailEditHeaderEditMode( ) ; //復元:メール編集+ヘッダ編集
RestoreAutoFormSwitch( ) ; //復元:自動整形ON/OFF
RestoreCurrentFindCondition( ) ; //復元:検索条件
// End of EdMax Macro
Subject: [1078] 補足説明
Date: Sat, 06 Mar 2004 20:03:22 +0900
From: tsune <>
こんばんは。 tsuneです。
投稿した #1076、#1077の「Mozilla-gumi BBSスレッド接続マクロ」に補足
説明が不足しておりました。
マクロにある程度詳しい方は、見ただけでお判りとは思いますが、念のため、
補足説明を投稿します。
//補足説明
マクロ内で「mozgumi_@_bbs.」という文字列が2箇所に記載されております。
この文字列は「掲示板グループ設定」)で Message-Id:用文字列(M) の欄に記
載したものを、それぞれの利用態様に応じて書き換えて下さい。
また、このマクロを他の掲示板(利用できるものがあるかどうか知りません
が)に利用する場合には、「参照番号を複写」ブロックの検索文字列や参照番
号の取り込み方を適宜変更して下さい。
Subject: [1079] 追加
Date: Mon, 08 Mar 2004 23:00:22 +0900
From: tsune <>
こんばんは。 tsuneです。
どうやら、
// #----------------------* Epilog ブロックの
JumpToNextMessage( ) ; //次のメールへ
は、
JumpToNextUnreadMessage( ) ; //次の未読へ
に変更した方が使い勝手が良さそうでした。
Subject: [1082] re1:Mozilla-gumi BBSスレッド接続マクロ
Date: Mon, 23 Aug 2004 01:28:27 +0900
From: tsune <>
こんばんは。 tsuneです。
スレッド接続マクロを更に修正しましたので投稿します。
// Start of EdMax Macro
CHAR MacroComment[] = "Mozilla-gumi BBSのスレッド接続"
// 末尾に親発言の番号が取り込まれていることが前提
// 作成:1.00(12/13/2003)
// 変更:1.10(03/03/2004):操作する毎にいくつでも In-Reply-To:が追加されることの対策。
// 1.20(03/06/2004):「次のメールへ」を「次の未読へ」に変更。
// 1.30(06/27/2004):未読メールで検索文字列が無くなるまで繰り返す仕様に変更。
// 「前の記事(元になった記事)」を削除することで無限ループを回避。
// #----------------------* Prolog
SaveMailEditHeaderEditMode( ) ; //保存:メール編集+ヘッダ編集
OnHeaderEdit( ) ; //ON:メール編集+ヘッダ編集
SaveCurrentAutoFormSwitch( ) ; //保存:自動整形ON/OFF
OffAutoForm( ) ; //OFF:自動整形
SaveCurrentFindCondition( ) ; //保存:検索条件
// #----------------------* 参照番号を複写
SetFocusToView( ) ; //フォーカス:ビュー画面へ
FindString( TRUE , FALSE , TRUE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , "前の記事(元になった記事)" ) ; //文字列の検索(次を検索)
IfStringNotFound( 15 ) ; //「前の記事(元になった記事)」が存在しない場合はEpilogへ
DeleteString( ) ; //Deleteキー(「前の記事(元になった記事)」を削除。)06/27/2004追加。
FindString( TRUE , FALSE , TRUE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , "mode=one&namber=" ) ; //文字列の検索(次を検索)
IfStringNotFound( 8 ) ; //「mode=one&namber=」が存在しない場合は「次のメールへ」へ
DeleteString( ) ; //Deleteキー(「mode=one&namber=」を削除。)03/03/2004追加。
KeyDown( VK_END , 3 ) ; //Ctrl+Shift+Endキー
CopyString( ) ; //コピー
KeyDown( VK_HOME , 2 ) ; //Ctrl+Homeキー:メール先頭へ
// #----------------------* In-Reply-To:を探して番号を置き換え。
// このブロックを有効にしたときは、「参照番号を複写」ブロックの2箇所の IfStringNotFound の数値を7ずつ増加して下さい。
//FindString( TRUE , FALSE , TRUE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , "^In-Reply-To: <mozgumi_@_bbs." ) ; //文字列の検索(次を検索)( < の右の文字列(mozgumi_@_bbs.)は「掲示板グループ設定」)で Message-Id:用文字列(M) の欄に記載したもの)。
//IfStringNotFound( 5 ) ; //行頭から始まる「In-Reply-To: 」が存在しない場合は生成ステップへ
//KeyDown( VK_RIGHT , 0 ) ; //→キー
//KeyDown( VK_END , 1 ) ; //Shift+Endキー
//KeyDown( VK_LEFT , 1 ) ; //Shift+←キー
//PasteString( ) ; //貼り付け
//IfStringFound( 4 ) ; //行頭から始まる「In-Reply-To: 」が存在した場合は生成ステップをスキップ
// #----------------------* メールの先頭にIn-Reply-To:を生成、貼り付け
InsertString( "In-Reply-To: <mozgumi_@_bbs." ) ; //文字入力( < の右の文字列(mozgumi_@_bbs.)は「掲示板グループ設定」)で Message-Id:用文字列(M) の欄に記載したもの)。
PasteString( ) ; //貼り付け
InsertString( ">" ) ; //文字入力
InsertString( "\r\n" ) ; //改行
// #----------------------* スレッドを有効化
//SetFocusToFolder( ) ; //フォーカス:フォルダ画面へ
//OpenThisFolder( "Account8\\受信.ctx" ) ; //このフォルダを開く
//SetFocusToList( ) ; //フォーカス:リスト画面へ
//KeyDown( VK_DOWN , 0 ) ; //↓キー
//BackToPrevMessage( ) ; //前に戻る
//ForwardToNextMessage( ) ; //次に進む
// #次のメールへ
JumpToNextUnreadMessage( ) ; //次の未読へ(03/06/2004上の行と変更。)
SetFocusToView( ) ; //フォーカス:ビュー画面へ
FindString( TRUE , FALSE , TRUE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , ":" ) ; //文字列の検索(次を検索):必ず存在する文字列を検索することでループ化。
IfStringFound( -17 ) ; //「複写・貼付け」へ戻る。
// #----------------------* Epilog
RestoreMailEditHeaderEditMode( ) ; //復元:メール編集+ヘッダ編集
RestoreAutoFormSwitch( ) ; //復元:自動整形ON/OFF
RestoreCurrentFindCondition( ) ; //復元:検索条件
// End of EdMax Macro