🟩 もくじ
サクラエディタJavaScriptマクロ|ひらがなからカタカナへの変換
// サクラエディタのJavaScriptマクロ
// 1. 文書全体を選択する
Editor.SelectAll();
// 2. 選択範囲のテキストを取得する
var text = Editor.GetSelectedString(0);
// 選択範囲がない場合は何もしない
if (text !== "") {
// 3. テキストの変換処理
// 改行コードをUNIX系のLFに統一
text = text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
// ひらがなからカタカナへの変換マッピング
var hira2kata = {
"あ":"ア", "い":"イ", "う":"ウ", "え":"エ", "お":"オ",
"か":"カ", "き":"キ", "く":"ク", "け":"ケ", "こ":"コ",
"さ":"サ", "し":"シ", "す":"ス", "せ":"セ", "そ":"ソ",
"た":"タ", "ち":"チ", "つ":"ツ", "て":"テ", "と":"ト",
"な":"ナ", "に":"ニ", "ぬ":"ヌ", "ね":"ネ", "の":"ノ",
"は":"ハ", "ひ":"ヒ", "ふ":"フ", "へ":"ヘ", "ほ":"ホ",
"ま":"マ", "み":"ミ", "む":"ム", "め":"メ", "も":"モ",
"や":"ヤ", "ゆ":"ユ", "よ":"ヨ",
"ら":"ラ", "り":"リ", "る":"ル", "れ":"レ", "ろ":"ロ",
"わ":"ワ", "を":"ヲ", "ん":"ン",
"が":"ガ", "ぎ":"ギ", "ぐ":"グ", "げ":"ゲ", "ご":"ゴ",
"ざ":"ザ", "じ":"ジ", "ず":"ズ", "ぜ":"ゼ", "ぞ":"ゾ",
"だ":"ダ", "ぢ":"ヂ", "づ":"ヅ", "で":"デ", "ど":"ド",
"ば":"バ", "び":"ビ", "ぶ":"ブ", "べ":"ベ", "ぼ":"ボ",
"ぱ":"パ", "ぴ":"ピ", "ぷ":"プ", "ぺ":"ペ", "ぽ":"ポ",
"ぁ":"ァ", "ぃ":"ィ", "ぅ":"ゥ", "ぇ":"ェ", "ぉ":"ォ",
"っ":"ッ", "ゃ":"ャ", "ゅ":"ュ", "ょ":"ョ", "ゎ":"ヮ",
"ゐ":"ヰ", "ゑ":"ヱ",
"う゛":"ヴ",
"ー":"ー"
};
// 一文字ずつ変換
var result = "";
for (var i = 0; i < text.length; i++) {
var char = text.charAt(i);
result += hira2kata[char] || char;
}
// 改行コードをCRLFに戻す
result = result.replace(/\n/g, "\r\n");
//--- 4. エディタへの反映処理 ---//
var draw_old = Editor.SetDrawSwitch(0); // 描画停止
Editor.InsText(result); // 選択範囲を置換
Editor.SetDrawSwitch(draw_old); // 描画再開
if (draw_old) Editor.Redraw(0);
//--- 5. クリップボードへのコピー処理 ---//
// 変換後のテキストを再度全選択
Editor.SelectAll();
// 選択範囲をクリップボードにコピー
Editor.Copy(0);
}
サクラエディタJavaScriptマクロ|カタカナからひらがなへの変換
// サクラエディタのJavaScriptマクロ
// 1. 文書全体を選択する
Editor.SelectAll();
// 2. 選択範囲のテキストを取得する
var text = Editor.GetSelectedString(0);
// 選択範囲がない場合は何もしない
if (text !== "") {
// 3. テキストの変換処理
// 改行コードをUNIX系のLFに統一
text = text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
// カタカナからひらがなへの変換マッピング
var kata2hira = {
"ア":"あ", "イ":"い", "ウ":"う", "エ":"え", "オ":"お",
"カ":"か", "キ":"き", "ク":"く", "ケ":"け", "コ":"こ",
"サ":"さ", "シ":"し", "ス":"す", "セ":"せ", "ソ":"そ",
"タ":"た", "チ":"ち", "ツ":"つ", "テ":"て", "ト":"と",
"ナ":"な", "ニ":"に", "ヌ":"ぬ", "ネ":"ね", "ノ":"の",
"ハ":"は", "ヒ":"ひ", "フ":"ふ", "ヘ":"へ", "ホ":"ほ",
"マ":"ま", "ミ":"み", "ム":"む", "メ":"め", "モ":"も",
"ヤ":"や", "ユ":"ゆ", "ヨ":"よ",
"ラ":"ら", "リ":"り", "ル":"る", "レ":"れ", "ロ":"ろ",
"ワ":"わ", "ヲ":"を", "ン":"ん",
"ガ":"が", "ギ":"ぎ", "グ":"ぐ", "ゲ":"げ", "ゴ":"ご",
"ザ":"ざ", "ジ":"ぢ", "ズ":"ず", "ゼ":"ぜ", "ゾ":"ぞ",
"ダ":"だ", "ヂ":"ぢ", "ヅ":"づ", "デ":"で", "ド":"ど",
"バ":"ば", "ビ":"び", "ブ":"ぶ", "ベ":"べ", "ボ":"ぼ",
"パ":"ぱ", "ピ":"ぴ", "プ":"ぷ", "ペ":"ぺ", "ポ":"ぽ",
"ァ":"ぁ", "ィ":"ぃ", "ゥ":"ぅ", "ェ":"ぇ", "ォ":"ぉ",
"ッ":"っ", "ャ":"ゃ", "ュ":"ゅ", "ョ":"ょ", "ヮ":"ゎ",
"ヰ":"ゐ", "ヱ":"ゑ",
"ヴ":"う゛",
"ー":"ー"
};
// 一文字ずつ変換
var result = "";
for (var i = 0; i < text.length; i++) {
var char = text.charAt(i);
result += kata2hira[char] || char;
}
// 改行コードをCRLFに戻す
result = result.replace(/\n/g, "\r\n");
//--- 4. エディタへの反映処理 ---//
var draw_old = Editor.SetDrawSwitch(0); // 描画停止
Editor.InsText(result); // 選択範囲を置換
Editor.SetDrawSwitch(draw_old); // 描画再開
if (draw_old) Editor.Redraw(0);
//--- 5. クリップボードへのコピー処理 ---//
// 変換後のテキストを再度全選択
Editor.SelectAll();
// 選択範囲をクリップボードにコピー
Editor.Copy(0);
}