半角スペース挿入No.13199
ks さん 02/10/26 23:11
 
半角英数字の前後に半角スペースを挿入するマクロは無いでしょうか。

--
Keiji <xxxxxxxx@kawachi.zaq.ne.jp>

[ ]
RE:13199 半角スペース挿入No.13200
番頭++ さん 02/10/27 08:10
 
>半角英数字の前後に半角スペースを挿入するマクロは無いでしょうか。

昔のゴミですが ...

//  gofiletop;
    call pk_add_h_spc_z1;
endmacro;

    $str_find1 = "[\x20-゚]\\f[\x81\x40-\xF0\x40]";  //  半角_全角
    $str_find2 = "[\x81\x40-\xF0\x40]\\f[\x20-゚]";  //  全角_半角
    replaceall $str_find1, "\\0\x20\\1", regular, inselect, ask;
    replaceall $str_find2, "\\0\x20\\1", regular, inselect, ask;
endmacro;

    $str_find = "[\x20-゚]\\f[\x81\x40-\xF0\x40]";   //  半角_全角
//  $str_find = $str_find + "|[\x81\x40-\xF0\x40]\\f[\x20-゚]";  //  全角_半角
//  replaceall $str_find, "\\0\x20\\1", regular, inselect, ask;
    replaceall $str_find, "\\0@\\1", regular, inselect, ask;    //  test.
endmacro;

//*6MICRO   pk_add_h_spc_z1
//*6_Desc.  半角文字と全角文字の間に、半角スペースを追加    Ver. 03.01
//*6    call pk_add_h_spc_z1;
//*6    return : N/A
//*6    [Tab] の考慮は無い。
endmacroall;
pk_add_h_spc_z1:
    $str_find = "[\x20-゚\\n][\x81\x40-\xF0\x40]";   //  改行、半角_全角
    $str_find = $str_find + "|[\x81\x40-\xF0\x40][\x20-゚\\n]";  //  全角_半
角、改行
//R $str_find = "[\x20-゚][\x81\x40-\xF0\x40]";  //  半角_全角
//R $str_find = $str_find + "|[\x81\x40-\xF0\x40][\x20-゚]"; //  全角_半角
    searchdown $str_find, regular, inselect;
    while( result ){
        escape; moveto selendx , selendy;   left;
        if( ! #sw_shift ){
            menu "add space !", "(&Y) Yes", "(&N) Next";
            #menu = result - 1;
            #sw_shift = iskeydown(0x10);    //  [Shift]
        }
        if( iskeydown( 0x1B ) ){    endmacro;   }   //  [Esc]
        if( #menu == 00 ){
            endmacro;
        } else if( #menu == 01 ){
            insert "\x20";  left;
//          insert "@"; left;   //  test.
        } else if( #menu == 02 ){
            left;
        } else {
        }
        finddown;
    }
return;
//*6MICRO_END

[ ]
RE:13200 半角スペース挿入No.13201
keiji さん 02/10/27 08:18
 
Keijiです。

On 2002/10/27 (日) 8:10:02
番頭++ <xxxxxxxxxxxxxx@maruo.co.jp> wrote:
> 昔のゴミですが ...
有難うございます。早速利用させて頂きます。

[ ]
RE:13200 半角スペース挿入No.13202
番頭++ さん 02/10/27 08:29
 
こっちかも ... スペースと改行を除く。

pk_add_h_spc_z1:
    $str_find = "[\x21-゚][\x81\x40-\xF0\x40]";   //  半角_全角
    $str_find = $str_find + "|[\x81\x40-\xF0\x40][\x21-゚]";  //  全角_半角
//searchdown $str_find, regular;

[ ]
RE:13202 半角スペース挿入No.13203
keiji さん 02/10/27 08:45
 
Keijiです。

On 2002/10/27 (日) 8:29:55
番頭++ <xxxxxxxxxxxxxx@maruo.co.jp> wrote:
> こっちかも ... スペースと改行を除く。
すみません、マクロのことが、全然理解できていないものでして、どういう事で
しょうか?

--
Keiji <xxxxxxxx@kawachi.zaq.ne.jp>

[ ]
RE:13203 半角スペース挿入No.13204
番頭++ さん 02/10/27 09:04
 
前のマクロの、

pk_add_h_spc_z1:

の次の二行を、

    $str_find = "[\x21-゚][\x81\x40-\xF0\x40]";   //  半角_全角
    $str_find = $str_find + "|[\x81\x40-\xF0\x40][\x21-゚]";  //  全角_半角

で置き換えると、半角スペースおよび改行は対象外になります。
そんな意味ですが。

この処理は全ての半角を対象にしています。なんです。

置換でもできます。次の様な感じです。次の 6 行です。

//*1a1.mac
    $str_find1 = "[\x21-゚]\\f[\x81\x40-\xF0\x40]";  //  半角_全角
    $str_find2 = "[\x81\x40-\xF0\x40]\\f[\x21-゚]";  //  全角_半角
    replaceall $str_find1, "\\0\x20\\1", regular, inselect, ask;
    replaceall $str_find2, "\\0\x20\\1", regular, inselect, ask;
endmacro;

# すんません、もう出かけます。

[ ]
RE:13204 半角スペース挿入No.13205
keiji さん 02/10/27 09:24
 
Keijiです。

On 2002/10/27 (日) 9:04:49
番頭++ <xxxxxxxxxxxxxx@maruo.co.jp> wrote:
> の次の二行を、
>
>     $str_find = "[\x21-゜][\x81\x40-\xF0\x40]";   //  半角_全角
>     $str_find = $str_find + "|[\x81\x40-\xF0\x40][\x21-゜]";  //  全角_半角
>
> で置き換えると、半角スペースおよび改行は対象外になります。
お忙しいところ、色々と教えて頂き有難うございます。
早速入れ替えました。

--
Keiji <xxxxxxxx@kawachi.zaq.ne.jp>

[ ]
RE:13200 半角スペース挿入No.13206
keiji さん 02/10/27 10:04
 
Keijiです。

On 2002/10/27 (日) 8:10:02
番頭++ <xxxxxxxxxxxxxx@maruo.co.jp> wrote:
> 昔のゴミですが ...
>
以下省略
すみませんマクロを実行すると

エラー]
キャラクタクラスの内容が解釈できません.

と言われて、マクロが実行できません。

--
Keiji <xxxxxxxx@kawachi.zaq.ne.jp>

[ ]
RE:13206 半角スペース挿入No.13207
山紫水明 さん 02/10/27 10:45
 
 keijiさん,こんにちは。

》すみませんマクロを実行すると

》エラー]
》キャラクタクラスの内容が解釈できません.

》と言われて、マクロが実行できません。

 こちらでは実行できます。秀丸のバージョンか設定が関係しているのかもしれ
ませんね。番頭++ さん,お忙しそうなので,横から失礼します。
 以前,鶴亀メールの方の会議室で以前コメントしたことがあります(5463のツ
リー)。不十分なところがあるかもしれません。

//-------------------------------------------------------------------//
//全文でも範囲選択しても可能です
if( selecting ) {
    #select = 1;
    #by = seltopy;
    #ey = selendy;
}
disableinvert;
replaceallfast "[ーぁ-K]\\f[!-z_0-9]+","\\0 \\1", regular, inselect;
if(#select) call Re_select #by, #ey;
replaceallfast "[!-z_0-9]+\\f[ーぁ-K]","\\0 \\1", regular, inselect;
endmacro;

Re_select:  //選択範囲の再設定
  moveto 0, ##1;
  beginsel;
  moveto 0, ##2;
  return;
//-------------------------------------------------------------------//

     では, (^^)/~
                                        山紫水明

[ ]
RE:13207 半角スペース挿入No.13209
keiji さん 02/10/27 11:39
 
Keijiです。

山紫水明 さんの
>  こちらでは実行できます。秀丸のバージョンか設定が関係しているのかもしれ
> ませんね。番頭++ さん,お忙しそうなので,横から失礼します。
すみませんVer.3.17です。
>  以前,鶴亀メールの方の会議室で以前コメントしたことがあります(5463のツ
> リー)。不十分なところがあるかもしれません。
秀丸にコピーしmacroフォルダーに"半角スペース挿入.mac"で保存し実行しまし
たが、同じエラーがでます。

[ ]
RE:13209 半角スペース挿入No.13210
山紫水明 さん 02/10/27 13:26
 
 keijiさん,こんにちは。

》秀丸にコピーしmacroフォルダーに"半角スペース挿入.mac"で保存し実行しまし
》たが、同じエラーがでます。

 うーん,そうですか。
 もう一度,秀丸をインストールしなおしてやってみてください。それでだめで
したら,ちょっと理由が思い当たりません。

     では, (^^)/~
                                        山紫水明

[ ]
RE:13210 半角スペース挿入No.13213
keiji さん 02/10/27 16:42
 
Keijiです。

山紫水明 さんの
>  もう一度,秀丸をインストールしなおしてやってみてください。それでだめで
> したら,ちょっと理由が思い当たりません。
インストールし直しましたが、同じくエラーになります。
ただし過去から入れているマクロは正常に動作します。

[ ]
RE:13213 半角スペース挿入No.13214
山紫水明 さん 02/10/27 17:30
 
 keijiさん,こんにちは。

》インストールし直しましたが、同じくエラーになります。

次のマクロは動きますか。
もしだめでしたら,どんなエラーメッセージでしょう。

//-----test.mac-------------------------------------------//
replaceallfast "[ーぁ-K]\\f[!-z_0-9]+","\\0 \\1", regular;
message str( result );
endmacro;
//--------------------------------------------------------//

     では, (^^)/~
                                        山紫水明

[ ]
RE:13214 半角スペース挿入No.13216
番頭++ さん 02/10/27 18:11
 
お疲れさま&ありがとさんです。

> もう一度,秀丸をインストールしなおしてやってみてください。...

それは、根拠が無いです。

ホームページのテキストを copy & paste する方法と、手違いかも、
このサイトのメールのモンダイと、考えるのが案です。

//*1    a1a1.mac
    message "1-゚";
    message "ーぁKーァ、あッぁーアッァー";
endmacro;

# あッぁーアッァー、河のナガレの酔うにーーー。文字、モジ、モジ、マジパ 。。。
# すんません、半角カタカナのデータを流しています ...

[ ]
RE:13214 半角スペース挿入No.13218
keiji さん 02/10/27 18:43
 
Keijiです。

山紫水明 さんの
>  keijiさん,こんにちは。
> 次のマクロは動きますか。
> もしだめでしたら,どんなエラーメッセージでしょう。
>
> //-----test.mac-------------------------------------------//
> replaceallfast "[ーぁ-,]\\f[!-z_0-9]+","\\0 \\1", regular;
> message str( result );
> endmacro;
> //--------------------------------------------------------//
[エラー]
キャラクタクラスの内容が解釈できません.

上記エラーがでます。
そこで、macro フォルダーを探していたら下記 macro が見つかり実行してみる
とうまく動作しました。

//全角文字と半角文字 (半角カタカナ含まず) の間に半角スペースを挿入
//*******検索状態を保持
$search=searchbuffer;
#search=searchoption;
#bx=x;
#by=y;
replaceallfast
  "[%0-9a-zA-Z'\\)\\]}>\\\\\\.,!\\?-]\\f[ーぁ-んァ-ヶ亜-\\xFC\\x4B]",
  "\\0 \\1",regular;
replaceallfast
  "[ーぁ-んァ-ヶ亜-\\xFC\\x4B]\\f[0-9a-zA-Z`\\(\\[{<\\\\-]",
  "\\0 \\1",regular;
replaceallfast
  "\"[^\"]*[ーぁ-んァ-ヶ亜-\\xFC\\x4B]\"\\f[ーぁ-んァ-ヶ亜-\\xFC\\x4B]",
  "\\0 \\1",regular;
replaceallfast
  "[ーぁ-んァ-ヶ亜-\\xFC\\x4B]\\f\"[^\"]*[ーぁ-んァ-ヶ亜-\\xFC\\x4B]\"",
  "\\0 \\1",regular;
moveto #bx,#by;
//******検索を初期状態に戻す
setsearch $search, #search;

何が違うんでしょうか?

[ ]
RE:13216 半角スペース挿入No.13219
keiji さん 02/10/27 19:10
 
Keijiです。

番頭++ さんの
> ホームページのテキストを copy & paste する方法と、手違いかも、
> このサイトのメールのモンダイと、考えるのが案です。
おっしゃるようにホームページからcopy & paste すると動作しましたがスペー
スが挿入されません。
文章を全て選択後実行すると、文章の最後で add space yes next と選択画面
がでます。

[ ]
RE:13207 半角スペース挿入No.13220
keiji さん 02/10/27 19:44
 
Keijiです。

山紫水明 さんの
> //-------------------------------------------------------------------//
> //全文でも範囲選択しても可能です
> if( selecting ) {
>     #select = 1;
>     #by = seltopy;
>     #ey = selendy;
> }
> disableinvert;
> replaceallfast "[ーぁ-,]\\f[!-z_0-9]+","\\0 \\1", regular, inselect;
> if(#select) call Re_select #by, #ey;
> replaceallfast "[!-z_0-9]+\\f[ーぁ-,]","\\0 \\1", regular, inselect;
> endmacro;
>
> Re_select:  //選択範囲の再設定
>   moveto 0, ##1;
>   beginsel;
>   moveto 0, ##2;
>   return;
> //-------------------------------------------------------------------//
ホームページから copy & paste したら上手く実行できました。
どうもすみませんでした。

[ ]