
秀丸マクロで
テキストを選択範囲して
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....
-
16進をASCIIコードに変換する...
-
VBAでMODE関数をつくる
-
VBA 変数名に変数を使用したい。
-
2つ目のレコードの値を取得す...
-
Redim とEraseの違いは?
-
『列名 '担当者CD' があいま...
-
VBAでアクセスDBからデータの取...
-
VB.NETにて、構造体へデータを...
-
ADOでNullフィールドの抽出
-
MDBをADO接続でINSERT・UPDATE...
-
[C#] DataGridViewでコンボボッ...
-
Access 追加クエリについて
-
DBFlute でシーケンス値取得
-
ヘッダ(*.h)に定義したテーブル...
-
「テーブルに主キーがありませ...
-
EXCELのVBAでLenB関数について
-
アクセス ステータスバーの文...
-
NULLを含む文字列の結合で...
-
フィールド名の指定でエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
WORD型をCString型に変換する方法
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
16進をASCIIコードに変換する...
-
VB6.0 String型→Long型変換方法...
-
C#で文字列を数値に変換する方法
-
バイナリデータの文字列変換(5...
-
vb6の桁数指定
-
VC++ std::stringからLPCWSTRに...
-
C#でListとDictionaryの判別方法
-
C++/CLI System::String::Fotma...
-
エクセルでメールヘッダーを解...
-
バイト型のデータをLong型に変換
-
16進コード文字列を文字列に変換
-
対数変換のついて
-
ASPでVBのFormat関数のような機...
-
Pythonの指数表記について
-
VB.NET ゼロ埋め
-
C++ 文字列変数と16進数の比較
-
2の補数の計算について
おすすめ情報