見出し画像

英文のみで書かれた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に書き直して保存する。
 以上で作業終了

この記事が気に入ったらサポートをしてみませんか?