Step16:画像をAMPファイルに変換(imgからamp-imgへ)とファイル名取出し|Excelソフト

画像ファイルにAMPに対応させるには「img src="ファイル名」から「amp-img src="ファイル名"」に変更する必要があります。それと今後必要になるファイル名を取得します。

AMPファイルの画像ファイルの扱いについては「Step5:AMPファイルに画像ファイルを挿入する方法」を参照してください。

AMP変換ソフト作成 メニューへ

スポンサーリンク





VBAで画像ファイル部分を検索し取り出す

下のように<img src=タグを取出すプロシージャを作成しました。
img src=タグを取出すプロシージャ

・Instrで<img src=タグを検索します。
・見つかれば、その文字位置からタグの終わりの>を検索します。
・Mid関数でタグ全体を取り出します。
・以上をタグが見つからなくなるまでループで繰り返します。

Private Sub MyPicChange()
    Dim n0 As Long
    Dim n1 As Long
    Dim n2 As Long
    Dim s1 As String
    
    n0 = 1
    Do
        n1 = InStr(n0, sUtfBuf, "<img src=", vbTextCompare)
        If n1 > 0 Then
            n2 = InStr(n1 + 5, sUtfBuf, ">", vbTextCompare)
            s1 = Mid(sUtfBuf, n1, n2 - n1 + 1)
            Debug.Print s1
            n0 = n2
        Else
            Exit Sub
        End If
    Loop
End Sub

追加した結果です。
</head>の前にAMPの定型文とインラインのスタイルシートが追加されています。

スポンサーリンク


VBAで画像ファイル名を検索し取り出す

<img src=タグからファイル名を取り出すプロシージャを作成しました。
MyPicChangeから呼び出します。
<img src=タグからファイル名を取り出すプロシージャ

・先頭からInstrで”を検索します。
・見つかった位置から次の”を検索します。
・Mid関数でファイル名を取り出します。

Private Function MyPicChangeSub(sp As String) As String
    Dim n1 As Long
    Dim n2 As Long
    Dim s1 As String
    
    n1 = InStr(1, sp, """", vbTextCompare)
    n2 = InStr(n1 + 1, sp, """", vbTextCompare)
    s1 = Mid(sp, n1 + 1, n2 - n1 - 1)
    Debug.Print s1
End Function

実行結果です。
1と3行目が<img src=タグで、2と4行目が取出したファイル名です。
1と3行目が<img src=タグで、2と4行目が取出したファイル名

スポンサーリンク






AMP変換ソフト作成 メニューへ

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


Copyright (c) Excel-Excel ! All rights reserved