秀丸マクロで
テキストを選択範囲して
ABCD
マクロを実行すると テキストの文字を変えないで
$s = gettext(seltopx,seltopy,selendx,selendy);
でテキストを$sに代入したのを
$s = ABCD
小文字にするマクロを教えてください。
$s = abcd
$s = gettext(seltopx,seltopy,selendx,selendy);
filter "" , "ToLower", "$s";
message $s;
filterを使って小文字にしようと思っているのですが
どうも filterの指定がうまくいってないようです。
小文字になりません。
ヘルプを読んでも 例文がなくわからないのです。
他にも良い方法があれば教えてください。
秀丸は最新版です。
その他編集系文- filter文
http://homepage3.nifty.com/kons/hidemaru/helpsit …
関数- filter( s1, s2, s3, s4 ) 関数
http://homepage3.nifty.com/kons/hidemaru/helpsit …
No.1ベストアンサー
- 回答日時:
こんにちは。
「filter文」と「filter関数」では以下のように用法が異なります。
「filter文」は、
画面上の選択範囲の文字列に対して変換を行う。
変換結果は画面上に反映される。
「filter関数」は、
固定文字列または文字列変数などの文字列に対して変換を行う。
変換結果は戻り値で取得する。
※こちらは画面上の表示には影響しない。
ですので、
a)画面上の文字列を直接変換する場合 → filter文
b)取得した文字列に対して変換する場合 → filter関数
という用法になると思います。
今回の目的が、上記a)、b)のどちらか判りませんので両方を行うマクロ
の例を以下に掲載します。宜しければ検証してみて下さい。
※当方は、「秀丸エディタ Ver 8.02」にて検証してみました。
■マクロ例
=========================
//選択範囲の文字列を取得(選択状態は維持する)
//注)第5引数に1を指定しないと選択状態は解除されます。
$s1 = gettext(seltopx, seltopy, selendx, selendy, 1);
//選択範囲の文字列(画面上)を小文字に変換
//※こちらは「画面上」の選択範囲の文字列に対して変換を行います。
//※第3パラメータには何も指定しない(省略)で良いようです。
filter "" , "ToLower"; //←こちらは「filter文」
//取得した文字列(文字列変数)を小文字に変換(その1)
//※こちらは「第4引数に指定した文字列」に対して変換を行います。
$s2 = filter("", "ToLower", "", $s1); //←こちらは「filter関数」
//取得した文字列(文字列変数)を小文字に変換(その2)
//※tolower関数でも小文字への変換が可能です。
//※こちらは「第1引数に指定した文字列」に対して変換を行います。
$s3 = tolower($s1);
//変換結果をメッセージ表示
$mes = "変換前文字列: " + $s1 + "\n";
$mes = $mes + "変換後文字列(1): " + $s2 + "\n";
$mes = $mes + "変換後文字列(2): " + $s3;
message $mes;
=========================
以上です。
解答ありがとうございました。
いろいろフォローがあり完璧に近い回答でした。
今回は
$s = gettext(seltopx, seltopy, selendx, selendy);
$s = tolower( $s );
で やってみることにします。
No.2
- 回答日時:
filter文で変換対象となるのは、選択された範囲の文字そのものです。
今回は、filter文ではなくtolowerを直接呼び出してください。
$s = "ABCD";
$s = tolower($s);
message $s;
で、"abcd"が表示されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Excel(エクセル) Indirect関数について、Formulatextで抽出した数式を参照したい。 1 2022/12/15 11:16
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Windows 95・98 Excelでアルファベットの大文字をうちたい 2 2023/03/13 17:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/12/26 12:05
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Evernote Evernote(エバーノート)の文字化け 1 2022/04/05 19:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
VB6 case文について
-
C++ 文字列変数と16進数の比較
-
WORD型をCString型に変換する方法
-
バイト型のデータをLong型に変換
-
Date型からString型へ変換...
-
C#でListとDictionaryの判別方法
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
Boolean型変数の値を反転する方法
-
C#で文字列を数値に変換する方法
-
ASPでVBのFormat関数のような機...
-
エクセルでメールヘッダーを解...
-
秀丸マクロで 大文字を小文字...
-
n進数の値を10進数の値に変換す...
-
バイナリデータの文字列変換(5...
-
VBA 変数名に変数を使用したい。
-
「Nullの使い方が不正です」の...
-
C#でbyte配列から画像を表示さ...
-
Accessのフィールド名に半角括...
-
Accessで別mdbのテーブルをコピー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
WORD型をCString型に変換する方法
-
16進をASCIIコードに変換する...
-
VB6.0の「vbFromUnicode」はVB....
-
C++ 文字列変数と16進数の比較
-
バイト型のデータをLong型に変換
-
16進コード文字列を文字列に変換
-
VC++ std::stringからLPCWSTRに...
-
10進数を2進数
-
2の補数の計算について
-
数字→漢数字変換
-
Boolean型変数の値を反転する方法
-
RGBとHSLを相互変換する際の端...
-
【C++/CLI】int型からString型...
-
textbox.textやlabel.captionの...
-
C#でListとDictionaryの判別方法
-
vb6の桁数指定
-
補数について教えてください!
-
C言語のGPS問題が分かりません。
-
Pythonの指数表記について
おすすめ情報