2009/12/12作成
便利ツール
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
[サクラエディタ]行削除マクロ
メニューウィンドウ

置換文字列入力ウィンドウ

拡張子が.vbsのファイルに、以下のソースコードを保存する
' マクロの中断処理ができないため、サブルーチン化で対処
main()
sub main()
set shell = CreateObject("WScript.Shell")
' メニュー情報
const REPLACE_SYMBOL = "REPLACE_SYMBOL"
dim menu(7, 2)
menu(1, 1) = "指定文字列を含む行"
menu(1, 2) = ".*" & REPLACE_SYMBOL & ".*(\r\n|\n|.*)"
menu(2, 1) = "指定文字列を含まない行"
menu(2, 2) = "^(?!.*" & REPLACE_SYMBOL & ").*(\r\n|\n|.*)"
menu(3, 1) = "指定文字列で始まる行"
menu(3, 2) = "^" & REPLACE_SYMBOL & ".*(\r\n|\n|.*)"
menu(4, 1) = "指定文字列で始まらない行"
menu(4, 2) = "^(?!" & REPLACE_SYMBOL & ").*(\r\n|\n|.*)"
menu(5, 1) = "指定文字列で終わる行"
menu(5, 2) = ".*" & REPLACE_SYMBOL & "$(\r\n|\n|.*)"
menu(6, 1) = "指定文字列で終わらない行"
menu(6, 2) = "^(?!.*" & REPLACE_SYMBOL & "$).*(\r\n|\n|.*)"
menu(7, 1) = "空行"
menu(7, 2) = "^(\r\n|\n)"
' メッセージ生成
message = ""
menuSize = UBound(menu)
for i = 1 to menuSize
message = message & i & ":" & menu(i, 1) & vbCrLf
next
' 処理番号の入力プロンプト
str = inputbox(message, "指定条件の行削除")
' 入力がない場合、終了
if str = "" then
exit sub
end if
' 数値でない入力の場合、ダイアログを表示し終了
if not isNumeric(str) then
MsgBox "数値を入力してください。"
exit sub
end if
' 無効な番号入力の場合、ダイアログを表示し終了
inputNumber = CInt(str)
if inputNumber < 0 or menuSize < inputNumber then
MsgBox "表示された番号から選択してください。"
exit sub
end if
if inputNumber <> 7 then
' 条件文字列の入力プロンプト
str = inputbox("条件文字列を正規表現形式で入力してください。", menu(inputNumber, 1))
' 入力がない場合、終了
if str = "" then
exit sub
end if
end if
' 正規表現を実行
regex = menu(inputNumber, 2)
regex = replace(regex, REPLACE_SYMBOL, str)
Editor.ReplaceAll regex, "", 156
end sub
置換文字列入力ウィンドウ
拡張子が.vbsのファイルに、以下のソースコードを保存する
' マクロの中断処理ができないため、サブルーチン化で対処
main()
sub main()
set shell = CreateObject("WScript.Shell")
' メニュー情報
const REPLACE_SYMBOL = "REPLACE_SYMBOL"
dim menu(7, 2)
menu(1, 1) = "指定文字列を含む行"
menu(1, 2) = ".*" & REPLACE_SYMBOL & ".*(\r\n|\n|.*)"
menu(2, 1) = "指定文字列を含まない行"
menu(2, 2) = "^(?!.*" & REPLACE_SYMBOL & ").*(\r\n|\n|.*)"
menu(3, 1) = "指定文字列で始まる行"
menu(3, 2) = "^" & REPLACE_SYMBOL & ".*(\r\n|\n|.*)"
menu(4, 1) = "指定文字列で始まらない行"
menu(4, 2) = "^(?!" & REPLACE_SYMBOL & ").*(\r\n|\n|.*)"
menu(5, 1) = "指定文字列で終わる行"
menu(5, 2) = ".*" & REPLACE_SYMBOL & "$(\r\n|\n|.*)"
menu(6, 1) = "指定文字列で終わらない行"
menu(6, 2) = "^(?!.*" & REPLACE_SYMBOL & "$).*(\r\n|\n|.*)"
menu(7, 1) = "空行"
menu(7, 2) = "^(\r\n|\n)"
' メッセージ生成
message = ""
menuSize = UBound(menu)
for i = 1 to menuSize
message = message & i & ":" & menu(i, 1) & vbCrLf
next
' 処理番号の入力プロンプト
str = inputbox(message, "指定条件の行削除")
' 入力がない場合、終了
if str = "" then
exit sub
end if
' 数値でない入力の場合、ダイアログを表示し終了
if not isNumeric(str) then
MsgBox "数値を入力してください。"
exit sub
end if
' 無効な番号入力の場合、ダイアログを表示し終了
inputNumber = CInt(str)
if inputNumber < 0 or menuSize < inputNumber then
MsgBox "表示された番号から選択してください。"
exit sub
end if
if inputNumber <> 7 then
' 条件文字列の入力プロンプト
str = inputbox("条件文字列を正規表現形式で入力してください。", menu(inputNumber, 1))
' 入力がない場合、終了
if str = "" then
exit sub
end if
end if
' 正規表現を実行
regex = menu(inputNumber, 2)
regex = replace(regex, REPLACE_SYMBOL, str)
Editor.ReplaceAll regex, "", 156
end sub
PR
CLaunch
デスクトップをすっきりしたい人におすすめのランチャーアプリ「CLaunch」。
テストのエビデンスをとるときに汚いデスクトップを見せなくてすむよう、
普段から整理するのに便利です。
個人的に好きな設定
CLaunch.iniファイルダウンロード
Design.iniファイルダウンロード
テストのエビデンスをとるときに汚いデスクトップを見せなくてすむよう、
普段から整理するのに便利です。
個人的に好きな設定
CLaunch.iniファイルダウンロード
Design.iniファイルダウンロード
新着記事
2013 - 06 - 27
2013 - 06 - 27
2013 - 06 - 19
2013 - 01 - 11
2013 - 01 - 11
カテゴリー
アーカイブ
検索
新着コメント
ブックマーク