「
定型文を挿入
」を編集中 (節単位)
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
== ポップアップメニューで定型文ファイルを指定する == 上出の各種のパターンをポップアップメニューから選択して実行します(操作の手数は増えてしまいますが、マクロの数を増やさずに済みます)。 <syntaxhighlight lang="javascript"> #title = "定型文を挿入..." #tooltip = "定型文をファイルから挿入(ポップアップメニュー)" // #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",276 // コード内の ■ の付いた部分の設定やファイルパスを変更して使用してください。 // ■「デフォルトの定型文ファイル」を "フルパス" で指定する■ var file = "C:\\hoge\\Template.txt"; // ( \ はふたつ重ね \\ にすること) // 「デフォルトの定型文ファイル」を定義したくないならば file = "" にしておく // ■挿入した定型文の先頭にカーソルを移動させるか?■ var topPos = true; // true : 移動させる / false:移動させない var m = CreatePopupMenu(); // ■不要な項目は m.Add の前に // を付けてコメントアウトする■ m.Add( "ファイル選択ダイアログ(&O)..." , 1 ); m.Add( "入力ダイアログでフルパスを指定(&D)..." , 2 ); // m.Add( "選択範囲の文字列(ファイルパス)から(&P)" , 3 ); m.Add( "クリップボードの文字列(ファイルパス)から(&B)" , 4 ); m.Add( "", 0, meMenuSeparator ); m.Add( "定型文つき新規ドキュメント(&N)" , 5 ); m.Add( "", 0, meMenuSeparator ); // ■ここでメニュー項目名と ID( r )を定義し■下部の default: のコード内でフルパスを指定する■ // m.Add( "項目名" , r ); m.Add( "定型文 Tenplate.txt (&T)" , 7 ); m.Add( "署名 Signature.txt (&S)" , 8 ); m.Add( "コピーライト CopyRight.txt (&R)" , 9 ); // m.Add( "定型文2 Tenplate2.txt" , 10 ); // m.Add( "定型文3 Tenplate3.txt" , 11 ); m.Add( "", 0, meMenuSeparator ); m.Add( "定型文ファイルの内容をコピー(&C)" , 6 ); var s = document.selection; var pos = ( s.IsEmpty ) ? s.GetActivePos() : /* else */ s.GetTopPointX( mePosLogical ); var r = m.Track( mePosMouse = 1 ); switch ( r ) { case 0: break; case 1: // 「挿入...」ダイアログで定型文ファイルを指定する // 「挿入」ダイアログをキャンセルした場合は、「デフォルトの定型文ファイル」から挿入する // ■「挿入」ダイアログで起点にするフォルダを指定する■ var folder = "%userprofile%\\desktop\\"; // (\ はふたつ重ね \\ にする / 末尾にも \\ を付ける) // 起点フォルダを指定する必要がないならば "" にしておく var st = document.Text; var cb = ClipboardData.GetData(); // クリップボードのデータを退避 if ( folder ) { ClipboardData.SetData( folder ); new ActiveXObject( "WScript.Shell" ).SendKeys( "^V~{DEL}%T{DOWN}{END}~%N" ); } editor.ExecuteCommandByID( 2067 ); // 「挿入...」 if ( document.Text == st ) // 「挿入」ダイアログをキャンセルした場合 s.InsertFromFile( file, 0 ); // 「ファイルから挿入」 ClipboardData.SetData( cb ); // クリップボードのデータを復帰 break; case 2: // テキスト入力ダイアログで定型文ファイルのフルパスを指定する // 入力ダイアログをキャンセルした場合は、「デフォルトの定型文ファイル」から挿入する // 挿入する定型文ファイルをテキスト入力ダイアログで指定する var p = Prompt( "ファイルパス:", file ).replace( /^\"|\"$/g , "" ); file = ( p.match( /^[a-zA-Z]:\\/ ) ) ? p : file; if ( file ) s.InsertFromFile( file, 0 ); // 0 はエンコードの「自動選択」 break; case 3: // 選択範囲の文字列がファイルパスならば、そのパスの定型文ファイルの内容に置きかえる // 選択範囲がファイルパスでない場合は、「デフォルトの定型文ファイル」の内容で置きかえる var st = s.Text.replace( /^\"|\"$/g , "" ); file = ( st.match( /^[a-zA-Z]:\\/ ) ) ? st : file; if ( file ) { s.Delete(); s.InsertFromFile( file, 0 ); // 0 はエンコードの「自動選択」 } break; case 4: // クリップボードの文字列がファイルパスならば、そのパスの定型文ファイルから挿入 // クリップボードがファイルパスでない場合は、「デフォルトの定型文ファイル」から挿入する var cb = ClipboardData.GetData().replace( /^\"|\"$/g , "" ); file = ( cb.match( /^[a-zA-Z]:\\/ ) ) ? cb : file; if ( file ) s.InsertFromFile( file, 0 ); // 0 はエンコードの「自動選択」 break; case 5: // 編集中のファイルに挿入するのではなく、定型文を貼り付けた「無題」のドキュメントを新規に開く // ■「デフォルトの定型文ファイル」以外の定型文ファイルを指定するなら以下の1行をアンコメントする // file = "C:\\hoge\\Template2.txt"; // \ はふたつ重ね \\ にすること editor.NewFile(); editor.ActiveDocument.selection.InsertFromFile( file, 0 ); // 0 はエンコードの「自動選択」 // ドキュメントの先頭にカーソルを移動 if ( topPos ) editor.ActiveDocument.selection.SetActivePoint( mePosLogical, 1, 1 ); Quit(); break; case 6: // 定型文ファイルを一時的に開いてテキストをクリップボードに取り込む Redraw = false; editor.NewFile(); editor.OpenFile( file, 0 ); // 0 はエンコードの「自動選択」 ClipboardData.SetData( editor.ActiveDocument.Text ); editor.ActiveDocument.Close(); Redraw = true; break; default: // あらかじめ用意してある各種定型文ファイルを "フルパス" で指定 // ■番号 r はメニュー項目の定義にあわせる■ // ■"ファイルパス" は適宜変更する(\ はふたつ重ね \\ にすること)■ // ※不要な項目はメニューの定義の行をコメントアウトする file = ( r == 7 ) ? "C:\\hoge\\Template.txt" : // 定型文 ( r == 8 ) ? "C:\\hoge\\Signature.txt" : // 署名(連絡先) ( r == 9 ) ? "C:\\hoge\\CopyRight.txt" : // コピーライト ( r == 10 ) ? "C:\\hoge\\\Template2.txt" : // 定型文2 ( r == 11 ) ? "C:\\hoge\\\Template3.txt" : // 定型文3 /* else */ file; s.InsertFromFile( file, 0 ); // 0 はエンコードの「自動選択」 break; } if ( topPos ) s.SetActivePos( pos ); // キャレットをマクロ開始前の座標に戻す </syntaxhighlight>
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク