「
全角/半角変換
」を編集中
2019年5月10日 (金) 20:49時点における
Sukemaru
(
トーク
|
投稿記録
)
による版
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
選択範囲の文字列の '''全角/半角変換'''。 *選択範囲なしのときは、カーソル位置の単語を範囲選択する。 *選択範囲の文字列が変更されなかったときは履歴を巻き戻して「変更行」のマーキングを残さない。 * マクロ実行時に Ctrl キーが押されていないときは、編集メニュー >> 選択範囲の変換 >> 「'''半角に変換'''」、Ctrl キーが押されているときは「'''全角に変換'''」をおこなう。 <br> ※このマクロは、基本的に '''ツールバーアイコン''' にして使用する想定で作ってあります。 <br> <div id="注2" class="warningbox"> * '''外部実行ファイル [[GetKeyState.exe(キー状態取得実行ファイル)|GetKeyState.exe]] を利用して Ctrl キー押し下げ判定をします。''' : あらかじめ "GetKeyState.zip" をダウンロードして、書庫内の "GetKeyState.exe" を Macros フォルダに配置してください。 </div> * ツールバーにアイコンを置いて実行する場合、アイコンをクリックするときの Ctrl キーの押し下げ状態(Ctrl+クリックか、ただのクリックか)で機能を切り替えます<br> * Ctrl キーの押し下げ状態で「全角/半角変換」の機能を切り替えるので、<span style="color:#c00;"> このマクロに [[ヘルプ:ツール#オプション|ショートカットキー]] を割り当てる場合は、 Ctrl キーをふくむキーパターンと Ctrl キーをふくまないキーパターンの2つを登録する必要があります。</span> :: e.g. Ctrl+H と Alt+H など * [マクロ]メニューや右クリックメニュー内から実行する場合も、マクロを実行するときの Ctrl キーの押し下げ状態(Ctrl+クリック or ただの左クリック、または Ctrl+Enter or Enter)で機能を切り替えます<br> * 外部実行ファイルを呼び出すため、Ctrl+H キーなどや Ctrl+クリックが速すぎると Ctrl キーの押し下げ状態を正しく取得できないことがあります。<br> 「全角変換」がうまく機能しないときは、Ctrl キーを放すタイミングを遅らせてください(マクロが発動するまで、またはマクロの処理が終了するまで Ctrl キーを押し下げたままにする)。 ;大文字/小文字の相互変換は >> 「[[大文字/小文字/頭文字 トグル変換]]」マクロ == ソースコード == ;ダウンロード: 「[[ファイル:全角/半角変換.zip]]」(アイコン入り) <source lang="javascript"> #title = "全角/半角変換" #tooltip = "選択範囲を半角に変換 (+Ctrlで全角に変換)" // #icon = "AA[4].ico" // Ctrl キーの状態を取得 var $ctrl = 0; var getKeyState = editor.FullName.replace( /mery\.exe$/i , "" ) + "Macros\\GetKeyState.exe"; if ( new ActiveXObject( "Scripting.FileSystemObject" ).FileExists( getKeyState ) ) { var WshShell = new ActiveXObject( "WScript.Shell" ); $ctrl = WshShell.Run( '"' + getKeyState + '" ctrl', 0, true ); } var d = editor.ActiveDocument; var s = editor.ActiveDocument.selection; // 非選択時には単語を選択 if ( s.IsEmpty ) { var pos = s.GetActivePos(); s.SelectWord(); } var st = s.Text; var sv = d.Saved; // Ctrl キーなし(GetKeyState なし)なら半角に変換 if ( ! $ctrl ) { s.ChangeWidth( meWidthHalfWidth ); } // Ctrl キー押し下げ時は全角に変換 else { s.ChangeWidth( meWidthFullWidth ); } // 文字列の変更なしなら履歴をもどす if ( s.Text == st ) { d.Undo(); d.Saved = sv; if ( pos >= 0 ) { s.SetActivePos( pos ); } } </source>
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク