単純に1書式だけでクエリーを実行したい場合に使用するマクロです。クエリーのダイアログで「検索する文字列」の設定を行わずに選択している文字列を書式設定しクエリーを実行します。
// Start of EdMax Macro
CHAR MacroComment[] = "書式選択クエリー\r\nUpdate:2001/10/22"
// #----------------------* Prolog
SaveCurrentQueryCondition( ) ; //保存:クエリー条件
SaveCurrentFindCondition( ) ; //保存:検索条件
SaveCurrentAutoFormSwitch( ) ; //保存:自動整形ON/OFF
OffAutoForm( ) ; //OFF:自動整形
SetFocusToEditor( ) ; //フォーカス・メッセージ作成画面へ
// #----------------------* 検索条件のsave(チェック用)
ClearClipboard( ) ; //クリップボードをクリア
CopyString( ) ; //コピー
NewMessageSx( ) ; //新規メッセージ(メーラー部)
SelectAllString( ) ; //すべてを選択
DeleteString( ) ; //Delete
PasteString( ) ; //貼り付け
// #----------------------* 選択されていたかチェック
FindString( FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , ".$" ) ; //文字列の検索(前を検索)
IfStringFound( 1 ) ; //条件選択されていた場合はskip
CloseFileNoConfirmation( ) ; //保存確認せずに閉じる
IfStringNotFound( 39 ) ; //条件選択されていない場合はEpilogへskip
// #----------------------* クリップボード履歴設定&貼り付け
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , "head:ヘッダ" ) ; //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , "body:本文" ) ; //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , "to:宛先" ) ; //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , "from:差出人" ) ; //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ; //クリップボードをクリア
InsertStringEx( 4 , "subject:件名" ) ;//挿入:文字列(クリップボードの文頭)
SelectAllString( ) ; //すべてを選択
DeleteString( ) ; //Delete
PasteByHistoryDialog( ) ; //履歴から貼り付け
// #----------------------* 「履歴から貼り付け」のキャンセルチェック
FindString( FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , ":" ) ; //文字列の検索(前を検索)
IfStringFound( 1 ) ; //「:」が存在した場合はskip
CloseFileNoConfirmation( ) ; //保存確認せずに閉じる
IfStringNotFound( 12 ) ; //「:」が存在しない場合はEpilogへskip
// #----------------------* Query条件のCOPY
KeyDown( VK_HOME , 2 ) ; //Ctrl+Homeキー
KeyDown( VK_RIGHT , 0 ) ; //→キー
InsertString( "=" ) ;
KeyDown( VK_HOME , 1 ) ; //Shift+Homeキー
ClearClipboard( ) ; //クリップボードをクリア
CopyString( ) ; //コピー
CloseFileNoConfirmation( ) ; //保存確認せずに閉じる
AddCopyString( ) ; //追加コピー(検索条件)
// #----------------------* クエリーマクロの作成及び実行
InsertStringEx( 4 , "DoQuery( FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , 1 , 6 , \"{" ) ; //挿入:文字列(クリップボードの先頭)
InsertStringEx( 5 , "}\" , \"\" , \"\" , FALSE , FALSE , FALSE , FALSE , FALSE , 100 ) ;" ) ; //挿入:文字列(クリップボードの最終)
CallMacro( SubTmpMacCmd1Mk ) ; //クエリーマクロ(TmpMacCmd1.mac)の作成
CallMacro( TmpMacCmd1.mac ) ; //クエリーマクロの実行
// #----------------------* Epilog
RestoreCurrentQueryCondition( ) ; //復元:クエリー条件
RestoreCurrentFindCondition( ) ; //復元:検索条件
RestoreAutoFormSwitch( ) ; //復元:自動整形ON/OFF
// End of EdMax Macro
サンプルマクロは下図のパラメータ設定になっています。使用形態に応じ、検索する範囲やクエリー結果画面等を修正してください。修正場所は「クエリーマクロの作成及び実行」部のInsertStringExパラメータです。
