秀丸エディタのマクロにはfor文がないので、繰り返し処理にはWHILEを用いる。
-----------------------
while (条件式){
//条件式が0以外(真)の場合この部分の記述(処理)を、
//条件式が0(偽)になるまで繰り返し実行する
}
-----------------------
改行を10回繰り返すサンプルコード
-----------------------
#a = 0; //文字列型変数は先頭が$、数値型変数は#。変数名は大文字/小文字が区別される。
while( #a < 10 ) {
insertreturn;
#a = #a + 1;
}
-----------------------
カテゴリー:秀丸エディタ
文字列の途中で2文字以上の言葉の集まりにOR検索をしたい場合は、パーレン(丸カッコ)でくくってパイプ(|)で区切る。
サンプル文字列:
------------------------------------
タイトル123 タイトルあいう タイトルABC
------------------------------------
上の文字列から「タイトル123」と「タイトルABC」だけにマッチさせたい場合の記述例:
------------------------------------
タイトル(123|ABC)
------------------------------------
カテゴリー:正規表現
コメントを入れるにはC++言語と同様に//が使える。
記述例:
--------------------------------------------------------------------------
//作品名を作品IDに置換
replaceallfast "^作品名" , "作品ID" , regular, nocasesense, hilight, loop;
--------------------------------------------------------------------------
V6.00より、/*~*/もコメントとして記述できる。
ただしV6.00未満や秀丸メールの場合はできないので、汎用的なマクロを作る場合は/*~*/は使わないほうがいい。
カテゴリー:秀丸エディタ
改行を一つにまとめる正規表現は本来次のような書き方になる。
\n+ → \n(左から右へ置換)
複数の改行を、一つの改行に置き換えるだけだが、秀丸エディタではうまくいかない。
秀丸エディタでは、2行単位でしか連続した改行を見つけることができず、3行の改行に対しても、そのうちの2行にだけマッチして残りの1行にマッチしない。その結果、改行の数は減るが何行か残ってしまう。
この問題を解決するには次のように記述する。
(?#maxlines:10)\n+
正規表現のパターンをこう記述すると、10行までの改行をまとめて置換できる。10の部分を増やせば、対象となる行数も増える。(この記述はバージョン8以上に対応している)
カテゴリー:秀丸エディタ
作業用のURLリストなんかをつくって、一行目から順にUWSCで作業させたいときに使う。
//テキストファイルの一行目を取得して、削除するサンプルコード//////////////////////////////////////////////////////////////////
FILE_PATH = "url_list.txt"
FID = FOPEN(FILE_PATH, F_READ or F_WRITE) //読み込み、書き込み両対応
Line_data = FGET(FID, 1) //LISTの1行目のURLを取得
print Line_data //一行目を情報を出力
sleep(100)
//作業内容を書き込む
FDELLINE(FID, 1) //LISTの1行目のURLを削除
FCLOSE(FID) //閉じることで処理が完了する
//////////////////////////////////////////////////////////////////
//すべての行を消化したら終了する場合は、次のように書く
//////////////////////////////////////////////////////////////////
FILE_PATH = "url_list.txt"
WHILE true //ずっと繰り返す
FID = FOPEN(FILE_PATH, F_READ or F_WRITE) //読み込み、書き込み両対応
Line_data = FGET(FID, 1) //LISTの1行目のURLを取得
//空文字になったら終了
IFB Line_data = ""
msgbox("データがないので終了します")
exitexit
ENDIF
print Line_data //一行目を情報を出力
sleep(100)
//作業内容を書き込む
FDELLINE(FID, 1) //LISTの1行目のURLを削除
FCLOSE(FID) //閉じることで処理が完了する
WEND
//////////////////////////////////////////////////////////////////
カテゴリー:uwsc
UWSCでファイル名を取得するには、「GETDIR」を用いる。
フォルダにあるすべてのファイルパスを取得するサンプルコード/////////////////////////////////////////////////////
//取得した情報の保存先とファイル名
//保存先を実行ファイルと違うフォルダにする場合は、フルパス
fid = FOPEN("info.txt",F_WRITE) //前の情報は消去して書き込む
PATH = INPUT("取得するフォルダを入力して下さい","C:\")
NUM = GETDIR(PATH) //ファイルの数だけならNUM
//配列を展開
FOR A = 0 TO LENGTH(GETDIR_FILES) - 1
fileName = GETDIR_FILES[A] //ファイル名
FPUT(fid,PATH + "\" + fileName) //ファイルの書き込み
NEXT
FCLOSE(fid)
/////////////////////////////////////////////////////
サブフォルダの情報も取得したいときは、コマンドプロンプトのdirコマンドを使うといい。
//カレントディレクトリの情報を出力
/////////////////////////////////////////////////////
CMDSTR = "dir /b /a-d /s > C:¥Users¥info.txt"
DOSCMD(CMDSTR,FALSE,TRUE)
/////////////////////////////////////////////////////
//C:¥Windowsの情報を出力
/////////////////////////////////////////////////////
CMDSTR = "dir C:¥Windows /b /a-d /s > C:¥Users¥info.txt"
DOSCMD(CMDSTR,FALSE,TRUE)
/////////////////////////////////////////////////////
オプションの説明
/b → ファイル名またはディレクトリ名のみ表示。最終更新日などの情報はなし。
/a-d → ディレクトリ以外のみ表示。
/s → サブディレクトリに含まれるファイルやディレクトリも全て表示。
カテゴリー:uwsc
cssのborderはきちんと指定しないと効かないことがある
枠線を消すために、
border:0px;
と記述したが一部のブラウザでうまくいかなかった。
そこで、
border:0px #969696 solid;
と三項目きちんと指定したらうまくいった。
手抜きをするとろくなことがない。
border-width:0px;
↑これでもいいだろう
カテゴリー:css
phpで複数行をコメントアウトする場合/*~*/で囲むのが一般的。
/*
aaa
bbb
*/
しかし/*~*/が入れ子になっていたり、PHPとHTMLが交じって複数行のコメントアウトが簡単にできない場合は次のように書くといい。
<?php if(0) { ?>
0はfalseを意味するので実行されない
<?php } ?>
コメントアウトした箇所を再び実行したい場合は「1」に書き換えるだけでいい。
<?php if(1) { ?>
1はtureを意味するので実行される
<?php } ?>
カテゴリー:PHP, wordpress
特定のカテゴリのタイトルや記事内容を一覧にするサンプルコード
get_posts関数で、どの記事の情報が欲しいか正しく指定するのが大事。
<?php
//カテゴリ別で出力
//get_postsは、条件にマッチする投稿情報を取得する
//numberpostsは取得する投稿数。-1で全件。categoryはカテゴリのID。
$posts = get_posts('numberposts=2&category=3');
global $post;
if($posts) {
foreach($posts as $post) {
setup_postdata($post); //投稿記事に関連するグローバル変数を設定する。the_content()が使えるようになる。
echo the_title() . "<br>"; //タイトルを出力
//echo the_content() . ""; //内容を出力
}
}
?>
カテゴリー:wordpress
IE9以上で出現する通知バーのボタンをUWSCで押す方法
下の画像の保存ボタンを押したい

//サンプルコード
////////////////////////////////////////////////////
// IEのIDを取得
id = GETID("Internet Explorer", "IEFrame")
//通知バーのハンドル(識別番号)を取得する。
handle = 0
repeat
sleep(0.5)
handle = GETCTLHND(id,"DirectUIHWND",2)
print handle //取得できなければ、0(ゼロ)が返る
until 0 < handle
//ハンドルをIDに変換
id2 = HNDtoID(handle)
//保存ボタンを押す
CLKITEM(id2, "保存", CLK_ACC)
//「ダウンロードが完了」と出るまで待ち
//インターネットオプション → 詳細設定の「ダウンロードの完了時に通知する」にチェックを入れておくこと
Repeat
Sleep(1)
Until Pos("ダウンロードが完了", GETSTR(id2, 1, STR_ACC_STATIC))>0
//通知バーを閉じる
CLKITEM(id2, "閉じる", CLK_ACC)
////////////////////////////////////////////////////
カテゴリー:uwsc