Step8:AMPファイルで必要のない文字列をReplace関数で検索し削除する|Excelソフト

AMP変換シートに入力された「削除するHTML」を上の行から順に削除していきます。削除はReplace関数を使用することで、UTF-8ファイル全体から検索し空文字に置換ます。

Replace関数の構文
Replace(expression, find, replacewith[, start[, count[, compare]]])
  • expression:置換の対象となる文字列
  • find:検索する文字列
  • replace:置き換える文字列
  • start:(省略可)検索開始位置
  • count:(省略可)置き換える文字列の個数
  • compare:(省略可)文字列を比較するモード
compareの定数
定数 内容
vbBinaryCompare 0 バイナリモードで比較(大文字と小文字を区別する)
vbTextCompare 1 テキストモードで比較(大文字と小文字を区別しない)

Replaceメソッドについても参照してください。



Homeに戻る > AMP変換ソフト作成 メニューへ

Replace関数を使用し文字列を削除する

下のAMP変換シートに入力されている「削除するHTML」の文字列を削除します。
AMP変換シート

変換開始ボタンのクリックイベント内に削除するコードを追加しました。
変換開始ボタンのクリックイベント内に削除するコードを追加

・5行目からDo Loopで下の行を順に取り出し、入力されていなければループを抜けます。
・Replace(sUtfBuf, Cells(lc, 2) & vbCr, "")は、UTF-8ファイルから、Cells(lc, 2) & vbCrを検索し空文字に置換ます。
・Cells(lc, 2) & vbCrと、 vbCrを付けたのは付けないと空行になるからです。

Private Sub CommandButton1_Click()
    Dim lc As Long
    
    If Range("F5") = "" Then
        MsgBox "変換ファイル名を入力してください。"
        Exit Sub
    End If

    If ExDir(Range("F5"), vbNormal) = "" Then
         MsgBox "変換ファイル名が存在しません。" _
             & vbCrLf & "処理を中止します。"
         Exit Sub
    End If
     
    ExUtfRead
    lc = 5
    Do
        If Cells(lc, 2) <> "" Then
            sUtfBuf = Replace(sUtfBuf, Cells(lc, 2) & vbCr, "")
            lc = lc + 1
        Else
            Exit Do
        End If
    Loop
    
    Debug.Print sUtfBuf
    
    ExUtfSave
End Sub

実行前のUTF-8ファイル
実行前のUTF-8ファイル

実行後のUTF-8ファイル
指定したStyleSheetの行が削除できています。
実行後のUTF-8ファイル

Homeに戻る > AMP変換ソフト作成 メニューへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved