
秀丸マクロで
テキストを選択範囲して
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
WORD型をCString型に変換する方法
-
型変換について (C++ Builder5)
-
16進をASCIIコードに変換する...
-
EXCEL VBA
-
2の補数の計算について
-
textbox.textやlabel.captionの...
-
エクセルでメールヘッダーを解...
-
16進コード文字列を文字列に変換
-
VC++ std::stringからLPCWSTRに...
-
【C++/CLI】int型からString型...
-
C++ 文字列変数と16進数の比較
-
【VB.NET】Excelの最終行までの...
-
VBA 変数名に変数を使用したい。
-
エクセルでXY座標に並べられた...
-
C#でbyte配列から画像を表示さ...
-
『列名 '担当者CD' があいま...
-
INT64対応のprintf系関数はあり...
-
VB.NETの配列にExcelから読み込...
-
C# DataTableに最後に追加した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
WORD型をCString型に変換する方法
-
C#で文字列を数値に変換する方法
-
C++ 文字列変数と16進数の比較
-
16進コード文字列を文字列に変換
-
vb6の桁数指定
-
16進をASCIIコードに変換する...
-
2の補数の計算について
-
VBAのstrConv関数のUNICODE変換...
-
10進数を2進数
-
【C++/CLI】int型からString型...
-
数値の値を時刻に変換する方法...
-
ASPでVBのFormat関数のような機...
-
c# 暗黙/明示的型変換の許容範囲
-
EXCEL VBA
-
Boolean型変数の値を反転する方法
-
数字→漢数字変換
-
日付を変換したい
-
対数変換のついて
おすすめ情報