RE:17155 マクロに関する質問No.04275
山紫水明 さん 04/04/28 08:50
 
 takako3さん,こんにちは。

》このファイル1.txt内の文章にファイル2.txtの
》文章(一行)を等間隔で挿入したいです。

 次のマクロで試してください。最初から一挙に大きなファイルを扱うのは少し
危険かも知らないので,まず小さめのファイルで試行してみてください。
 挿入されるファイル(ファイル1.txt)を開いた状態で実行してください。

//---------------------------------------------------//
#num = val(input("間隔行数は?"));
#handle1 = hidemaruhandle(0);
disabledraw;
gofiletop;
message "挿入用ファイルを開きます。";
OPEN;
showwindow 0;
#handle2 = hidemaruhandle(0);
gofileend;
if( x > 0 ) insertreturn;
#cnt = linecount2;
gofiletop;
while( lineno < #cnt ) {
    #i = 0;
    while( #i < 500 ) {
        #by = y;
        golineend2;
        $line[#i] = gettext( 0, #by, x, y );
        movetolineno 1, lineno + 1;
        #i = #i + 1;
        if( lineno >= #cnt ) break;
    }
    call InsertLine;
    if( #end )break;
}
setactivehidemaru #handle1;
closehidemaruforced #handle2;
message "終わりました!";
endmacro;

InsertLine:
setactivehidemaru #handle1;
while( ##j < #i ) {
    if( lineno + #num > linecount2 ) {
        #end = 1;
        break;
    }
    movetolineno 1, lineno + #num;
    insert $line[##j] + "\n";
    ##j = ##j + 1;
}
setactivehidemaru #handle2;
return;
//---------------------------------------------------//

》連番ではなくて数字と小文字の英字ランダムなものを
》作成するマクロが欲しいです。

 完全にランダムな文字を作るのは難しいですが,文字数があまり多くなければ
次のマクロでもいけるかもしれません。他にもいろいろ工夫の余地はあると思い
ます。

//---------------------------------------------------//
// ランダム文字生成マクロ
#num = val(input("文字数は?"));
if( #num == 0 ) endmacro;
#ms = val( minute + second );
#tk = tickcount;
while( #i < #num ) {
    #tk = #tk + #ms + #i;
    if( #i > 50 ) #tk = #tk + val(hour);
    #rdm = #tk % 36;
    if( #rdm < 10 ) #rdm = #rdm + 48;
    else #rdm = #rdm + 87;
    $s = $s + char( #rdm );
    #i = #i + 1;
}
message $s;
//insert $s;//必要によってはこちら(カーソル位置に挿入)
endmacro;
//---------------------------------------//

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

[ ]
RE:04275 動作に問題が・・・No.04276
takako3 さん 04/04/29 21:47
 
>山紫水明さん

返信ありがとうございます。
こちらはマクロ作者と書いてあったので
自分は駄目かなぁーって思ってました。
すみません。


マクロに関してなのですが、
まずランダム文字列作成マクロなのですが
全く動作してくれませんでした。涙
ダイアログも表示されませんでした

最初にお願いしたマクロの方は
挿入間隔の一番最初までしか行えませんでした。

たとえば挿入間隔「3」なら下記の様になりました。

本来の文章01
本来の文章02
本来の文章03
挿入文章01

----
ここで停止されて以降の文字の挿入は行われず
文章を挿入される側のファイルも
以降の文字が全部削除されてしまいます。

勝手なお願いですが、マクロの修正
お願いできませんでしょうか?

よろしくお願いします


[ ]
RE:04276 動作に問題が・・・No.04277
山紫水明 さん 04/04/29 22:21
 
 takako3さん,こんばんは。

》こちらはマクロ作者と書いてあったので
》自分は駄目かなぁーって思ってました。

 確かに会議室の名前はまぎらわしいですね。そのように受けとられるのもやむ
を得ないという気がします。

》 マクロに関してなのですが、まずランダム文字列作成マクロなのですが全く
》動作してくれませんでした。涙 ダイアログも表示されませんでした

 全く動作しないというのがどういう状況なのかよくわかりません。実行しても
何の反応もなく,エラーメッセージも出ないということでしょうか?
 何か,マクロ登録か実行方法に原因があるかもしれません。どのように登録,
実行されたのでしょうか?
 試しにマクロの最初に,

 message "マクロ開始";

という1行を挿入して実行して見てください。

 まずこの問題を解決してからもう一つのマクロの問題に移りたいと思います。

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

[ ]