「書き換え禁止モード色反転」の版間の差分
ナビゲーションに移動
検索に移動
微修正。不要タグ削除 |
|||
| 15行目: | 15行目: | ||
== 使用上の注意 == | == 使用上の注意 == | ||
[[includeライブラリ]] を利用しています。このマクロの前に導入してください。 | |||
== 書き換え禁止モード色反転 == | == 書き換え禁止モード色反転 == | ||
| 21行目: | 21行目: | ||
* フォーカスを受け取った時:タブ無効・複数ウィンドウ | * フォーカスを受け取った時:タブ無効・複数ウィンドウ | ||
* アクティブな文書が変更された時:タブ有効 | * アクティブな文書が変更された時:タブ有効 | ||
(注)設定ファイルを移動させたい場合は、「設定ファイルのパス」を書き換えてください。 | |||
<source lang="javascript"> | <source lang="javascript"> | ||
| 35行目: | 35行目: | ||
const macroPath = MeryInfo.GetMacroFolderPath(); | const macroPath = MeryInfo.GetMacroFolderPath(); | ||
const file_FullName = macroPath + "\\MacroSettings\\書禁モード反転.txt"; | const file_FullName = macroPath + "\\MacroSettings\\書禁モード反転.txt"; // 設定ファイルのパス | ||
const flag = IO.LoadFromFile( file_FullName , "utf-8"); // 読み込み | const flag = IO.LoadFromFile( file_FullName , "utf-8"); // 読み込み | ||
| 63行目: | 63行目: | ||
== 書き換え禁止 == | == 書き換え禁止 == | ||
トグル切り替えのタイミングで色反転をします。(注)読み取り専用の属性変更はしません。<br> | トグル切り替えのタイミングで色反転をします。(注)読み取り専用の属性変更はしません。<br> | ||
マクロ「書き換え禁止モード色反転」と同じ設定ファイルを参照しています。 | マクロ「書き換え禁止モード色反転」と同じ設定ファイルを参照しています。 | ||
保存場所を移動させた場合は、ファイルパスを書き換えてください。<br> | 保存場所を移動させた場合は、ファイルパスを書き換えてください。<br> | ||
ショートカット設定例:Int<br> | ショートカット設定例:Int<br> | ||
同梱アイコンは | 同梱アイコンは[https://icon-rainbow.com Icon-rainbow]の素材「鍵・錠の無料アイコン素材 1」をお借りしました。 | ||
<source lang="javascript"> | <source lang="javascript"> | ||
2018年11月14日 (水) 20:57時点における版
概要
フォーラムの意見より作成。
書き換え禁止ファイルに切り替えたとき、自動で色反転するマクロセットです。
タブ無効中やステータスバー非表示の状態でも、書禁モードが区別できます。
ダウンロード
内容
- 書禁モード色反転.js : イベント実行用スクリプト
- 書き換え禁止.js : ショートカット・ツールバー実行用スクリプト
- 書き換え禁止.ico :ツールバーアイコン
- MacroSettings
- 書禁モード反転.txt:設定ファイル
使用上の注意
includeライブラリ を利用しています。このマクロの前に導入してください。
書き換え禁止モード色反転
マクロ実行イベント専用
- フォーカスを受け取った時:タブ無効・複数ウィンドウ
- アクティブな文書が変更された時:タブ有効
(注)設定ファイルを移動させたい場合は、「設定ファイルのパス」を書き換えてください。
#title = "書き換え禁止モード色反転"
#tooltip = "書き込み禁止モードで色反転"
#include "include/MeryInfo.js"
#include "include/IO.js"
/* -----------------------------------------------------------------------------
* アクティブなファイルが書禁状態だったら色反転するマクロ
* 実行イベント「フォーカスを受け取った時」「アクティブな文書が変更された時」専用
* ----------------------------------------------------------------------------- */
const macroPath = MeryInfo.GetMacroFolderPath();
const file_FullName = macroPath + "\\MacroSettings\\書禁モード反転.txt"; // 設定ファイルのパス
const flag = IO.LoadFromFile( file_FullName , "utf-8"); // 読み込み
const on = "1";
const off = "0";
if ( flag == null){ // 初回(セーブファイル作成)
if (Editor.ActiveDocument.ReadOnly){ // 書禁
editor.ExecuteCommandByID(2145); // 色を反転
IO.SaveToFile( file_FullName , on , "utf-8"); // フラグを立てて保存
} else {
IO.SaveToFile( file_FullName , off , "utf-8"); // フラグを折って保存
}
} else {
if (Editor.ActiveDocument.ReadOnly && flag == off){ // 通常 → 書禁
editor.ExecuteCommandByID(2145); // 色を反転
IO.SaveToFile( file_FullName , on , "utf-8"); // フラグを立てて保存
}
if (!Editor.ActiveDocument.ReadOnly && flag == on){// 書禁 → 通常
editor.ExecuteCommandByID(2145); // 色を反転
IO.SaveToFile( file_FullName , off, "utf-8"); // フラグを折って保存
}
}
書き換え禁止
トグル切り替えのタイミングで色反転をします。(注)読み取り専用の属性変更はしません。
マクロ「書き換え禁止モード色反転」と同じ設定ファイルを参照しています。
保存場所を移動させた場合は、ファイルパスを書き換えてください。
ショートカット設定例:Int
同梱アイコンはIcon-rainbowの素材「鍵・錠の無料アイコン素材 1」をお借りしました。
#title = "書き換え禁止"
#icon = "書き換え禁止.ico"
#tooltip = "書き換え禁止+色反転"
#include "include/MeryInfo.js"
#include "include/IO.js"
const macroPath = MeryInfo.GetMacroFolderPath(); // Macrosフォルダのパス
const file_FullName = macroPath + "\\MacroSettings\\書禁モード色反転.txt"; // 設定ファイルのパス
const flag = IO.LoadFromFile( file_FullName , "utf-8"); // 読み込み
const on = "1";
const off = "0";
if (!Editor.ActiveDocument.ReadOnly && flag == off || !Editor.ActiveDocument.ReadOnly && flag == on){
document.ReadOnly = true;
editor.ExecuteCommandByID(2145); // 色反転ON
IO.SaveToFile( file_FullName , on , "utf-8"); // フラグを立てて保存
} else if (Editor.ActiveDocument.ReadOnly && flag == off || Editor.ActiveDocument.ReadOnly && flag == on){
document.ReadOnly = false;
editor.ExecuteCommandByID(2145); // 色反転OFF
IO.SaveToFile( file_FullName , off, "utf-8"); // フラグを折って保存
}
【おまけ】書き換え禁止ファイルを閉じる
特定キーの単打で書禁ファイルのタブ・ウィンドウを閉じるマクロです。
割当キーごとにマクロスクリプトを登録する必要があります。
Enterで閉じる
ショートカット割当:Enter
#title = "書禁ファイルを閉じる(Enter)"
#tooltip = "書き込み禁止ファイルを閉じる"
if (!Editor.ActiveDocument.ReadOnly){ // 通常モード
Document.Selection.NewLine(1); // Enter(改行)
Quit();
} else if (Editor.ActiveDocument.ReadOnly){ // 書禁モード
Editor.ActiveDocument.Close(); // ファイルを閉じる
}
BackSpaceで閉じる
ショートカット割当:BackSpace
#title = "書禁ファイルを閉じる(BS)"
#tooltip = "書き込み禁止ファイルを閉じる"
if (!Editor.ActiveDocument.ReadOnly){ // 通常モード
> // Document.Selection.DeleteLeft(1); // Backspase
Quit();
} else if (Editor.ActiveDocument.ReadOnly){ // 書禁モード
Editor.ActiveDocument.Close(); // ファイルを閉じる
}
Qで閉じる
ショートカット割当:Q
#title = "書禁ファイルを閉じる(Q)"
#tooltip = "書き込み禁止ファイルを閉じる"
if (!Editor.ActiveDocument.ReadOnly){ // 通常モード
Document.Selection.Text = "q"; // Q
Quit();
} else if (Editor.ActiveDocument.ReadOnly){ // 書禁モード
Editor.ActiveDocument.Close(); // ファイルを閉じる
}
Escで閉じる
ショートカット割当:Esc
#title = "書禁ファイルを閉じる(Esc)"
#tooltip = "書き込み禁止ファイルを閉じる"
if (!Editor.ActiveDocument.ReadOnly){ // 通常モード
const WshShell = new ActiveXObject( "WScript.Shell" );
WshShell.SendKeys ( "{ESC}" ); // Escape
Quit();
} else if (Editor.ActiveDocument.ReadOnly){ // 書禁モード
Editor.ActiveDocument.Close(); // ファイルを閉じる
}
スポンサーリンク