質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

4115閲覧

サクラエディタマクロ実行後に選択状態を維持できるか

lupus_dingo

総合スコア257

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/06/20 22:57

編集2017/06/21 03:43

サクラエディタでjsマクロを作成しています。

内容としては、選択範囲内(複数行)で正規表現を使って文字列置換をするというもので、それ自体は問題なく実行できています。

この置換処理をした後、選択状態は解除されると思いますが、これを選択したままにすることは可能性でしょうか?

最終的な目的は置換後の選択範囲をクリップボードにコピーすることです。

加えてもう1つ教えて下さい。
作成したマクロを未割当てのショートカット「ctrl+shift+0」に登録すると動作しませんでした。
同様に未割当ての「ctrl+0」に登録すると動作しました。
「ctrl+shift+」はマクロとして登録できないのでしょうか?参考にしたサイトではshiftありのショートカットに登録してたので登録できそうな気がします。

追記
参考にしたのは以下のサイトです。
https://www.google.co.jp/amp/totech.hateblo.jp/entry/2014/03/11/125058%3Famp%3D1

コードはすぐには用意出来ないのですが、
こちらのサイトに載っている以下とほぼ同じです。(functionの中のif文が違うくらいです。)

switch_upper_lower.js
###########################
// 指定したテキストに大文字が含まれるならば全て小文字に、
// そうでないならば全て大文字に変換した文字列を返す。
function (text) {
if (text.match(/[A-Z]/)) {
return text.toLowerCase();
} else {
return text.toUpperCase();
}
}
//==========
// MAIN
//==========
// 選択範囲のテキストを取得
var text = Editor.GetSelectedString(0);
// 変換後のテキストを出力
if ( text !== "" ) Editor.InsText(switch_upper_lower(text));

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/06/21 00:28

現在作成しているコードをご提示ください。あと可能であれば「マクロ」などのタグもつけてみてください。
guest

回答1

0

ベストアンサー

最終的な目的は置換後の選択範囲をクリップボードにコピーする

Editor.InsTextで貼りつける前にクリップボードに送ればいいのでは。

未割当てのショートカット「ctrl+shift+0」に登録すると動作しませんでした

当方の環境では動作しました。

投稿2017/06/21 05:01

Lhankor_Mhy

総合スコア35869

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lupus_dingo

2017/06/21 21:40

クリップボードに送る関数があることを知りませんでした。 選択状態維持はできませんでしたがこの方法で代用しようと思います。 やはりこちらの環境ではshiftありのショートカットは動かないですね。ちなみに環境は2.1.0.0です。 shiftなしのショートカットに設定しようと思います。 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問