下がるよ。
適度に入れてやると、100パーセントだったものが、数パーセント程度になる。
>>953 「select」と言うと、Editor.SelectAll() または Editor.SelectWord() のことでしょうか?
あっ、ごめん。
WScript.Sleepは1ms単位だから、1秒単位のPerlScriptの話だと思ったんだけど違った?
selectはPerlScriptの関数なんだ
>>955 マクロ実行中は、まともにメッセージ処理されないからCPU負荷100%なってしまうので
スリープでメッセージ処理する暇を与えてやりたいという話なんだ。
メッセージ処理とは別のスレッドで実行したりできないのかね?>マクロ
ループで時間食ってる場合は1ループ毎にsleepかませれば負荷はかからなくなるだろうけど。そこってマクロ側で面倒みるとことは思えないよなあ。
全然関係ないが
>>954だけ凄い丁寧な口調なのが妙に気になる。
あれだ。
不倫相手からの電話を取引先からの電話のように受け答えする
そんな時の文章だよ、きっと。
あるある・・・
なんかサクラの文字コード自動判別って結構な頻度で外れているね。
適正な文字コードを調べでその文字コードで保存する方法って何かある?
961 :
960:2008/03/05(水) 12:05:29 ID:/SKGfcQj0
勘違いかも。
多分前回開いた文字コードで判別せず開いているぽいだけど、
これ停止して再度文字コード判別させる方法ってありますか?
962 :
960:2008/03/05(水) 12:12:54 ID:/SKGfcQj0
遍歴の管理からファイルの遍歴を削除したら同じファイル開いても文字コードの自動判別するように直りました。
963 :
名無しさん@お腹いっぱい。:2008/03/06(木) 15:13:46 ID:G1beBsBL0
バグなのかもしれないので書き込み。
ファイルを開く
文字検索する
クリップボードにファイル名を入れるorフォルダ名+ファイル名を入れる
ファイルを閉じる
というマクロを連続して何度も実行していくと
稀に1つ前に開いたファイル名を現在のファイル名として
>クリップボードにファイル名を入れるorフォルダ名+ファイル名を入れる
このマクロの時にクリップボードに返してくる。
マクロは使うたびに読み直す設定にはしているが、
マクロの内容は別マクロから処理しながら書き換えているので
その書き換え途中で読みはじめたとかそんなことでこけている可能性も否定できないと思ったけど
その一部の内容は綺麗に処理されているのでサクラのクリップ系マクロがこけているのか
以前のクリップ系マクロが遅延して処理されているかのどちらかぽい。
後者はありえない機がするけど。
965 :
名無しさん@お腹いっぱい。:2008/03/07(金) 12:00:33 ID:qYv48lCG0
>>964 分からない点があれば質問よろ
暇なら答える
>>965 マクロを一_も知らず、964でも無いけれど964を読み解いてみた。
- 一文が長すぎて読みにくい
- 読点が極端に少なくて読みにくい
- 改行を読点代わりに使っているようで読みにくい
- 「以前のクリップ系マクロ」の『以前の』が何を指すか曖昧
- 『機がするけど』と書かれている為、真剣さが感じられにくい
要は、人に読んでもらおうという配慮がやや足りていない文章、と見受けられます。
という意味が
>
>>963 > 日本語でおk
に含まれていると思われます。
967 :
名無しさん@お腹いっぱい。:2008/03/07(金) 22:32:33 ID:nx8GoockO
>>967 文章がなってないから質問どころじゃないだろ、ってことだろう。
なめこ汁、おかわり
秀丸みたいな追加コピー機能が欲しい今日この頃
マクロ使えばできるのかなあ
972 :
名無しさん@お腹いっぱい。:2008/03/09(日) 00:33:59 ID:gyBe1CXX0
>>968 ほいよ
S_FileOpen("ファイル1")
S_SearchNext('検索ワード',16); // 次を検索
S_ReDraw(0)
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyPath()
//一旦サクラマクロを書くはここまでにして別スクリプトソフトでクリップボードの内容監視
//結果によってサクラマクロの内容を書き換える
//現在のファイル保存と次のファイル開いて検索するまで後をするマクロにサクラマクロを書き換える
//これを300ファイルほどやったら不定期にこける。
973 :
名無しさん@お腹いっぱい。:2008/03/09(日) 00:35:24 ID:gyBe1CXX0
つづき
S_FileSaveAs("ファイル1",0,0)
S_FileClose()
S_FileOpen("ファイル2")
S_SearchNext('検索ワード',16); // 次を検索
S_ReDraw(0)
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyFilename()
S_CopyPath()
監視している中で新しいファイルなのに前回のファイル名が吐いて
スクリプトがこけることが分かったので書いた。S_CopyFilename()を減らすとそもそもS_CopyFilename()実行してないのかファイル名が取得できないタイミングで読みに言っているのか。
クリップボードに何もよこさないことが結構ある。
凄く簡単な処理を、もの凄く遠回りな方法でやっているように見えるのだが・・・
>>974 確かに963の日本語はちょっと分かりにくいが、君がその「凄く簡単な処理」を書いてあげれば解決だ。
問題はバグがあるかないかだから、彼には引き続きこのまま頑張ってもらいたい。
というわけで「凄く簡単な処理」を書いてあげなくてもおk。
978 :
名無しさん@お腹いっぱい。:2008/03/10(月) 03:59:02 ID:u+sjV1ig0
最後にwをつけるのは大抵陰険ですげーやな奴
クリップボードて、空に出来ないんじゃ? 空気と一緒で。
A1.TXT というファイルの編集画面で、hankaku.txt というファイルをマクロを使って開くとする。
[A1.MAC]
S_FileOpen("hankaku.txt");
S_FileClose(); // 閉じて無題に
S_InsertDate();
S_CopyFilename();
結果、クリップボードにはhankaku.txt、日付は無題に挿入
意見:クリップボードには無題が入らないから、一応開いたファイルの名前か?
[A3.MAC]
//S_FileOpen("hankaku.txt"); // 開かない
S_FileClose(); // 閉じて無題に
S_InsertDate();
S_CopyFilename();
結果、クリップボードにはA1.TXT、日付は無題に挿入
意見:クリップボードには無題が入らないから、一応前回のファイル名か?
空気と一緒ってのがよく分からん。
>>980 サクラエディタの処理の中で、ファイル名が無ければクリップボードへコピーしないとなってるみたいなので、多分それは正常。
で、
>>973の言うクリップボードに何も寄越さない時というのはよく分からん。
クリップボードの中身が空なのかな。
>>887 マクロをタイプ別にして欲しいと要望を出したら
猛反対された経験あり
共通設定のマクロとタイプ別設定のマクロが両方欲しいんだよなぁ
>>973 ほいよ
S_FileOpen("ファイル1")
S_FileOpen の直前は、無題&0バイトですか?前庭が良く分からない。
985 :
名無しさん@お腹いっぱい。:2008/03/11(火) 15:23:48 ID:yiF2auUk0
>>982 300程度のファイルに処理するとランダムに
○ファイル名のみしかよこさない(その後に記述されているフォルダ名+ファイル名をクリップによこすマクロが無視される、あるいはコケてる)
○フォルダ名+ファイル名のマクロまで正常に実行される(最後のマクロであるフォルダ名+ファイル名はクリップに返してくる)
○ファイル名もフォルダ名+ファイル名も返さないALLコケ。
いずれの場合も同一マクロ内に書き込んだファイルのクローズや別ファイルのオープンとそれに対する検索マクロは一切こけておらず正確に実行されている。
その後のクリップボード系マクロの動作だけ曖昧にしか実行されない。
一応980の話を参考にファイルを開くマクロの後
S_ReDraw(0)
をかませて見ても駄目だった。
600回近く連続して何度もマクロファイルを読ませると不具合でも出るだろうか。
まったくコケず処理終えることもある。
今日はまったく同じファイルでコケるな。
986 :
名無しさん@お腹いっぱい。:2008/03/11(火) 17:06:35 ID:yiF2auUk0
追記
それならファイル名でなくて
キー割り当て一覧のコピーマクロでファイル名の取得やフォルダ名+ファイル名の取得マクロの代用にできないかとやってみた。
元々ファイル名の取得はサクラマクロ側の終了サインとして入れているだけなので
結果はやはりそれもコケた。
俺みたいに
1ファイルごとに2度マクロ書き換えて即実行という処理を連続してやる場合に出る症状かもしれないけど。
987 :
984:2008/03/11(火) 17:40:11 ID:5/QzKHOg0
>>986 無題でかつ、0バイトで貼り付けると、オープンした対象ファイルに書き込むことになるから、
マクロを実行するファイルは0バイトでは、ないのですか?
988 :
982:2008/03/11(火) 18:26:10 ID:au7WS/4ZO
>>985 クリップボードを監視するツールは自作?
これが長時間クリップボードを開いているという事は無いかな?
サクラエディタは、OpenClipboard()できなければそのままクリップボード処理を終了するので、クリップボードが前回値のままとなる状況はあり得る。
でもオープンしたがSetClipboardData()は実行しなかったといというのは難しい気がするので、クリップボードが空になる状況が良く分からん。
クリップボードをチェックするタイミングはどうなってるの?
マクロ終了後にチェックするくらいゆっくりにできる?
正規表現で \r にマッチさせたいのですが、
\r\n にもマッチしてしまって困っています。
\r だけにマッチさせる方法はないのでしょうか。
置換前→(.*)\r
....CR/LF
置換後→\1
....LF
>>991 えっとそれは一体どういう…。
\r\n に混じっている \r を探し出したいのです。
ああ、それなら。
置換前→\r
....CR/LF
置換後→cr
....crLF
>>988 ツールはUWSCだよ。
あまり詳しいことはわからんのだけど(分かってれば別の方法でサクラ使ってる)
UWSCのSENDSTRでクリップボードを空にする
サクラマクロを走らせる
【サクラマクロの内容』
特定のファイルオープン
特定の単語を検索
ファイル名をクリップボード入れる命令数行
その最後を示すフォルダ名+ファイル名をクリップボードに入れる命令
【終わり】
クリップボードの内容をUWSCのGETSTRで監視。それによって次に実行するサクラマクロを精製してサクラマクロに書きこむ。
UWSCのSENDSTRででクリップボードを空にする
サクラマクロを走らせる
【サクラマクロの内容】
現在開いているファイルを名前を付けて保存
現在開いているファイルを閉じて無題
次の特定ファイル開く
特定の単語を検索
ファイル名をクリップボード入れる命令数行
その最後を示すフォルダ名+ファイル名をクリップボードに入れる命令
【終わり】
これをファイル分繰り返す。
995 :
984:2008/03/12(水) 14:52:10 ID:JGAEJpIZ0
最初の >サクラマクロを走らせる 【サクラマクロの内容』 特定のファイルオープン
の時に、無題 & not0バイト だと、クリップボードに何も入らないから、
最初の S_FileOpen("ファイル1"); よりも前に、S_FileClose(); を追加して、見るとか。
埋めの季節ですね。
>>993 済みません、意図が伝わってないようです。
\r\n
\r\n
\r
\r\n
\r\n
という風な感じで改行が並んでいる時に、
\r の改行だけを検索で見つけたいのです。
前処理。
置換前→\r\n
....CR/LF
置換後→\n
....LF
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。