英文のみで書かれたxml(UTF-8)ファイルで特定の語句に一致した行を削除するVBA
.xml (UTF-8) ファイルを.txt (UTF-8) ファイルに拡張子を変換する。その際に注意喚起のメッセージが出るが無視
下記コードが書かれた.xlsmファイルを開き、txtファイルをドラッグドロップしVBAを実行する。
Sub DeleteRowsWithSpecificValue()
'変数の宣言
Dim lastRow As Long '最終行変数
Dim i As Long 'カウンタ変数
' 最終行を取得
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
' 下から上にループして行を削除
For i = lastRow To 2 Step -1
If InStr(1, Cells(i, 1).Value, "<signal-dis>COME</signal-dis>", vbTextCompare) > 0 Then
Rows(i).Delete
End If
Next i
MsgBox "指定された文字列を含む行が削除されました。"
End Sub
"指定された文字列を含む行が削除されました。"というダイアログでたらOKを押下。名前を付けて保存を押下し任意のファイル名と階層を指定する。ファイルの種類については『テキスト (タブ区切り) (*.txt)』を選択
Excelについては閉じてOK。保存した.txtファイルを開き、1行目に無駄な『"』が増えているので削除する。
名前を付けて保存を押下し文字コードを『UTF-8』にし、ファイルの種類を『すべてのファイル (*.*)』に拡張子をxmlに書き直して保存する。
以上で作業終了
この記事が気に入ったらサポートをしてみませんか?