「テーマの自動変更」の版間の差分

Pizz (トーク | 投稿記録)
 
(2人の利用者による、間の5版が非表示)
9行目: 9行目:
* ライトモード/ダークモード用のテーマを用意しておき、マクロ先頭でテーマ名を指定します
* ライトモード/ダークモード用のテーマを用意しておき、マクロ先頭でテーマ名を指定します
:(Mery標準のテーマは使えません、「名前を付けて保存」したテーマを使用します)
:(Mery標準のテーマは使えません、「名前を付けて保存」したテーマを使用します)
* マクロのカスタマイズ画面のリストに登録したら、イベントを有効にします
:イベントはお好みで...(「フォーカスを受け取った時」「フォーカスを失った時」くらいが妥当だと思います)


テーマを書き換えるアイディアは、ucky様の「[https://www.haijin-boys.com/wiki/%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E3%83%88%E3%82%B0%E3%83%AB テーマのトグル]」マクロからいただきましたが、表示設定項目が増えた場合などのメンテナンスが面倒だったので、別途対応を行っています。
テーマを書き換えるアイディアは、ucky様の「[[テーマのトグル]]」マクロからいただきました。
すてきなアイディアありがとうございます。


== 変更履歴 ==
== 変更履歴 ==
22行目: 25行目:
// ライトモード/ダークモード用のテーマを用意しておき、ここでテーマ名を指定します
// ライトモード/ダークモード用のテーマを用意しておき、ここでテーマ名を指定します
// (Mery標準のテーマは使えません、「名前を付けて保存」したテーマを使用します)
// (Mery標準のテーマは使えません、「名前を付けて保存」したテーマを使用します)
var lightModeTheme = "#Custom-Light"
var lightModeTheme = "#Custom-Light";
var darkModeTheme = "#Custom-Dark";
var darkModeTheme = "#Custom-Dark";


76行目: 79行目:
// Mery.ini を探す
// Mery.ini を探す
var iniPath = editor.FullName.replace(/\.exe$/i, ".ini");
var iniPath = editor.FullName.replace(/\.exe$/i, ".ini");
if (! (new ActiveXObject("Scripting.FileSystemObject")).FileExists(iniPath)){
if(! (new ActiveXObject("Scripting.FileSystemObject")).FileExists(iniPath)){
var iniName = /\\([^\\]+)\.exe$/.exec(editor.FullName)[1];
var iniName = /\\([^\\]+)\.exe$/.exec(editor.FullName)[1];
iniPath = (new ActiveXObject( "WScript.Shell" )).SpecialFolders("APPDATA") + "\\Mery\\" + iniName + ".ini";
iniPath = (new ActiveXObject("WScript.Shell")).SpecialFolders("APPDATA") + "\\Mery\\" + iniName + ".ini";
}
}
// Mery.ini を読みこむ
// Mery.ini を読みこむ
89行目: 92行目:
adodb.Close();
adodb.Close();


var start = iniText.search(new RegExp( "^\\[" + sectionName.replace(/\W/g, "\\$&") + "\\]$", "m" ));
var start = iniText.search(new RegExp("^\\[" + sectionName.replace(/\W/g, "\\$&") + "\\]$", "m"));
if(start >= 0){
if(start >= 0){
start = start + sectionName.length + 4;
start = start + sectionName.length + 4;
スポンサーリンク