パスワードを忘れた? アカウント作成
573885 journal

patagonの日記: [コンピュータ]AWKでExcelのVBAマクロを作る

日記 by patagon

パターンマッチングの続き

AWKですまそうと思ったが、他人のことを考えると、目に見えるところは一般的な(?)方法にしておこうってことで、AWKでExcelのVBAマクロを作るというなんともアホなことをやる羽目に。出来たVBAマクロで数万行のレコードの文字列を置換。

1 sortR-uniq.batの実行
2 gawk.batの実行(これで数百行のレコードを食わせる)
3 出来たマクロ(test03.txt)をExcelに持っていき実行

sortR-uniq.batの中身
REM type と sort はMicrosoft標準のプログラム。
REM sort の/Rオプションは降順を意味する。
REM uniqは重複行を削除するプログラム。GNUのもので日本語パッチがあたっている。

type test01.txt | sort /R | uniq > test02.txt

gawk.batの中身
gawk -f sample.awk test02.txt > test03.txt
pause

sample.awkの中身
# ExcelのVBAマクロを作る
# 単に特定の文字列の後に「,」を入れるだけ
# Selection.Replace What:="検索する文字列", Replacement:="置換する文字列", LookAt:=xlPart, _
# SearchOrder:=xlByRows, MatchCase:=False

BEGIN {

print "Sub Macro03()"
print ""
print " Columns(\"D:D\").Select"
print ""

}

{
        print " Selection.Replace What:=\"" $1 "\", Replacement:=\"" $1 ",\", LookAt:=xlPart, _"
        print " SearchOrder:=xlByRows, MatchCase:=False"
}

END {

print ""
print "End Sub"

}

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...