「定型文を挿入」の版間の差分

Sukemaru (トーク | 投稿記録)
MSY-07 (トーク | 投稿記録)
空行の除去
 
(2人の利用者による、間の8版が非表示)
1行目: 1行目:
「定型文を挿入」というと公式プラグインの「[[プラグイン:スニペットプラグイン|スニペットプラグイン]]」や、[ファイル] メニューの「[[ヘルプ:ファイル#挿入|挿入...]]」コマンドがありますが、アレンジ/バリエーションとしていくつかのパターンを用意してみました。
「定型文を挿入」というと公式プラグインの「[[プラグイン:スニペットプラグイン|スニペットプラグイン]]」や、[ファイル] メニューの「[[ヘルプ:ファイル#挿入|挿入...]]」コマンドがありますが、アレンジ/バリエーションとしていくつかのパターンを用意してみました。


11行目: 10行目:
<br>文書の雛形用の定型文や署名(連絡先、コピーライト)などのテンプレートを、あらかじめ用意したテキストファイルから取り込みます。
<br>文書の雛形用の定型文や署名(連絡先、コピーライト)などのテンプレートを、あらかじめ用意したテキストファイルから取り込みます。


<source lang="javascript">
<syntaxhighlight lang="javascript">
#title = "定型文を挿入"
#title = "定型文を挿入"
#tooltip = "定型文をファイルから一発挿入"
#tooltip = "定型文をファイルから一発挿入"
// #icon = ""
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",172
// 一発の操作であらかじめ指定済みのファイルから定型文を挿入する
// 一発の操作であらかじめ指定済みのファイルから定型文を挿入する


26行目: 25行目:
// 挿入した定型文の先頭にカーソルを移動(不要ならコメントアウト)
// 挿入した定型文の先頭にカーソルを移動(不要ならコメントアウト)
document.selection.SetActivePos( pos );
document.selection.SetActivePos( pos );
</source>
</syntaxhighlight>
 


== 定型文つき新規ドキュメント ==
== 定型文つき新規ドキュメント ==
38行目: 36行目:
: %Programfiles%\Mery
: %Programfiles%\Mery


<source lang="javascript">
<syntaxhighlight lang="javascript">
#title = "定型文つき新規ドキュメント"
#title = "定型文つき新規ドキュメント"
#tooltip = "定型文つきの「無題」ドキュメントを新規タブで開く"
#tooltip = "定型文つきの「無題」ドキュメントを新規タブで開く"
// #icon = ""
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",194


// ■挿入する定型文ファイルを "フルパス" で指定■
// ■挿入する定型文ファイルを "フルパス" で指定■
51行目: 49行目:
editor.ActiveDocument.selection.InsertFromFile( file, 0 ); // 0 は文字エンコードの「自動選択」
editor.ActiveDocument.selection.InsertFromFile( file, 0 ); // 0 は文字エンコードの「自動選択」
editor.ActiveDocument.selection.SetActivePoint( mePosLogical, 1, 1 ); // ドキュメントの先頭にカーソルを移動
editor.ActiveDocument.selection.SetActivePoint( mePosLogical, 1, 1 ); // ドキュメントの先頭にカーソルを移動
</source>
</syntaxhighlight>
 
== 定型文ファイルのテキストをクリップボードに取り込む ==
定型文ファイルを一時的に開き、内容をコピーして閉じます。
 
<syntaxhighlight lang="javascript">
#title = "定型文をコピー"
#tooltip = "定型文ファイルの内容をクリップボードにコピーする"
// #icon = ""
 
// ■定型文ファイルを "フルパス" で指定する■
var file = "C:\\hoge\\Template.txt";
  // ( \ はふたつ重ね \\ にすること)


Redraw = false;
editor.NewFile();
editor.OpenFile( file, 0 ); // 0 はエンコードの「自動選択」
ClipboardData.SetData( editor.ActiveDocument.Text );
editor.ActiveDocument.Close();
Redraw = true;
</syntaxhighlight>


== ファイルパスをダイアログに入力して指定する ==
== ファイルパスをダイアログに入力して指定する ==
58行目: 75行目:
<br>入力ダイアログをキャンセルした場合は、あらかじめ指定してあるデフォルトの定型文ファイルから挿入します。
<br>入力ダイアログをキャンセルした場合は、あらかじめ指定してあるデフォルトの定型文ファイルから挿入します。


<source lang="javascript">
<syntaxhighlight lang="javascript">
#title = "定型文を挿入"
#title = "定型文を挿入..."
#tooltip = "定型文をファイルから挿入(入力ダイアログ)"
#tooltip = "定型文をファイルから挿入(入力ダイアログ)"
// #icon = ""
// #icon = ""
78行目: 95行目:
// 挿入した定型文の先頭にカーソルを移動(不要ならコメントアウト)
// 挿入した定型文の先頭にカーソルを移動(不要ならコメントアウト)
document.selection.SetActivePos( pos );
document.selection.SetActivePos( pos );
</source>
</syntaxhighlight>
 


== 「挿入」ダイアログで定型文ファイルを選択する ==
== 「挿入」ダイアログで定型文ファイルを選択する ==
86行目: 102行目:
<br> → ref. 「[[特定のフォルダで「ファイルを開く」ダイアログ|特定のフォルダで『ファイルを開く』ダイアログ]]」マクロ
<br> → ref. 「[[特定のフォルダで「ファイルを開く」ダイアログ|特定のフォルダで『ファイルを開く』ダイアログ]]」マクロ


<source lang="javascript">
<syntaxhighlight lang="javascript">
#title = "定型文を挿入"
#title = "定型文を挿入..."
#tooltip = "定型文をファイルから挿入(挿入ダイアログ)"
#tooltip = "定型文をファイルから挿入(挿入ダイアログ)"
// #icon = ""
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",172


// ■「挿入...」ダイアログで起点にするフォルダを指定する■
// ■「挿入...」ダイアログで起点にするフォルダを指定する■
var folder = "%USERPROFILE%\\Desktop\\";
var folder = "%userprofile%\\desktop\\";
   // (\ はふたつ重ね \\ にする / 末尾にも \\ を付ける)
   // (\ はふたつ重ね \\ にする / 末尾にも \\ を付ける)
   // 起点フォルダを指定する必要がないならば folder = "" にしておく
   // 起点フォルダを指定する必要がないならば folder = "" にしておく
116行目: 132行目:
// 挿入した定型文の先頭にカーソルを移動(不要ならコメントアウト)
// 挿入した定型文の先頭にカーソルを移動(不要ならコメントアウト)
document.selection.SetActivePos( pos );
document.selection.SetActivePos( pos );
</source>
</syntaxhighlight>
 


== ポップアップメニューで定型文ファイルを指定する ==
== ポップアップメニューで定型文ファイルを指定する ==
上出の各種のパターンをポップアップメニューから選択して実行します(操作の手数は増えてしまいますが、マクロの数を増やさずに済みます)。
上出の各種のパターンをポップアップメニューから選択して実行します(操作の手数は増えてしまいますが、マクロの数を増やさずに済みます)。


<source lang="javascript">
<syntaxhighlight lang="javascript">
#title = "定型文を挿入"
#title = "定型文を挿入..."
#tooltip = "定型文をファイルから挿入(ポップアップメニュー)"
#tooltip = "定型文をファイルから挿入(ポップアップメニュー)"
// #icon = ""
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",276
// コード内の ■ の付いた部分の設定やファイルパスを変更して使用してください。
// コード内の ■ の付いた部分の設定やファイルパスを変更して使用してください。


142行目: 157行目:
m.Add( "入力ダイアログでフルパスを指定(&D)..." , 2 );
m.Add( "入力ダイアログでフルパスを指定(&D)..." , 2 );
// m.Add( "選択範囲の文字列(ファイルパス)から(&P)" , 3 );
// m.Add( "選択範囲の文字列(ファイルパス)から(&P)" , 3 );
m.Add( "クリップボードの文字列(ファイルパス)から(&C)" , 4 );
m.Add( "クリップボードの文字列(ファイルパス)から(&B)" , 4 );
m.Add( "", 0, meMenuSeparator );
m.Add( "", 0, meMenuSeparator );
m.Add( "定型文つき新規ドキュメント (&N)" , 5 );
m.Add( "定型文つき新規ドキュメント(&N)" , 5 );
m.Add( "", 0, meMenuSeparator );
m.Add( "", 0, meMenuSeparator );


156行目: 171行目:


m.Add( "", 0, meMenuSeparator );
m.Add( "", 0, meMenuSeparator );
m.Add( "定型文ファイルの内容をコピー (&C)" , 6 );
m.Add( "定型文ファイルの内容をコピー(&C)" , 6 );


var s = document.selection;
var s = document.selection;
172行目: 187行目:


     // ■「挿入」ダイアログで起点にするフォルダを指定する■
     // ■「挿入」ダイアログで起点にするフォルダを指定する■
     var folder = "%UserProfile%\\desktop\\";
     var folder = "%userprofile%\\desktop\\";
       // (\ はふたつ重ね \\ にする / 末尾にも \\ を付ける)
       // (\ はふたつ重ね \\ にする / 末尾にも \\ を付ける)
       // 起点フォルダを指定する必要がないならば "" にしておく
       // 起点フォルダを指定する必要がないならば "" にしておく
203行目: 218行目:
   case 3:
   case 3:
   // 選択範囲の文字列がファイルパスならば、そのパスの定型文ファイルの内容に置きかえる
   // 選択範囲の文字列がファイルパスならば、そのパスの定型文ファイルの内容に置きかえる
   // 選択範囲がファイルパスでない場合は、「デフォルトの定型文ファイル」から挿入する
   // 選択範囲がファイルパスでない場合は、「デフォルトの定型文ファイル」の内容で置きかえる


     var st = s.Text.replace( /^\"|\"$/g , "" );
     var st = s.Text.replace( /^\"|\"$/g , "" );
     file = ( st.match( /^[a-zA-Z]:\\/ ) ) ? st : file;
     file = ( st.match( /^[a-zA-Z]:\\/ ) ) ? st : file;
     if ( file )
     if ( file ) {
      s.Delete();
       s.InsertFromFile( file, 0 ); // 0 はエンコードの「自動選択」
       s.InsertFromFile( file, 0 ); // 0 はエンコードの「自動選択」
    }
     break;
     break;


239行目: 256行目:


   case 6:
   case 6:
   // 定型文ファイルのテキストをクリップボードに取り込む
   // 定型文ファイルを一時的に開いてテキストをクリップボードに取り込む


     Redraw = false;
     Redraw = false;
     editor.NewFile();
     editor.NewFile();
     editor.ActiveDocument.selection.InsertFromFile( file, 0 );
     editor.OpenFile( file, 0 ); // 0 はエンコードの「自動選択」
     editor.ActiveDocument.selection.SelectAll();
     ClipboardData.SetData( editor.ActiveDocument.Text );
    editor.ActiveDocument.selection.Cut();
     editor.ActiveDocument.Close();
     editor.ActiveDocument.Close();
     Redraw = true;
     Redraw = true;
    Quit();
     break;
     break;


270行目: 285行目:
if ( topPos )
if ( topPos )
   s.SetActivePos( pos ); // キャレットをマクロ開始前の座標に戻す
   s.SetActivePos( pos ); // キャレットをマクロ開始前の座標に戻す
</source>
</syntaxhighlight>


== エンコード定数 ==
== エンコード定数 ==
* [[マクロリファレンス]] >> [[マクロリファレンス:エンコード定数|エンコード定数]] より (抄)
* [[マクロリファレンス]] >> [[マクロリファレンス:エンコード定数|エンコード定数]] より (抄)
<source lang="javascript">
<syntaxhighlight lang="javascript">
meEncodingNone => 0 自動選択
meEncodingNone => 0 自動選択
meEncodingUTF8 => 65001 Unicode (UTF-8)  
meEncodingUTF8 => 65001 Unicode (UTF-8)  
280行目: 295行目:
meEncodingUTF8NoBOM => 650010 Unicode (UTF-8 BOM無)
meEncodingUTF8NoBOM => 650010 Unicode (UTF-8 BOM無)
meEncodingShiftJIS => 932 日本語 (シフト JIS)
meEncodingShiftJIS => 932 日本語 (シフト JIS)
</source>
</syntaxhighlight>
スポンサーリンク