Step22:フォルダ内ファイル一覧を順にAMP変換|セルの名前の削除方法|Excel VBA

これまで1つのファイルを対象にしていましたが、フォルダ内のファイル一覧を取得できたのでループで上から順にAMP変換するように変更します。

削除や変更の結果をセルに表示させるために、セルに名前を付けOffsetでセル位置を指定していましたが、複数ファイルが処理対象になったため使用をやめました。

気になる場合は下記の手順で削除してください。

セルの名前の削除方法

  1. 数式タブを選択し[定義された名前]グループの[名前の管理]をクリックします。
  2. 名前の管理ダイアログボックスが開くので、削除したい名前を選択します。
  3. [削除]ボタンをクリックします。
  4. 「名前(セルの定義された名前)を削除してもよろしいですか?」とメッセージが表示されるので[OK]ボタンをクリックします。
  5. 名前の管理ダイアログボックスの[閉じる]ボタンをクリックし終了です。


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

VBAでファイル一覧の上から順に変換する

変換部分のVBAを下記に変更します。
VBAでファイル一覧の上から順に変換する

・nrow = 5で5行目から順に行います。空白になればループを抜けます。
・ExUtfReadはファイル名を引数にするようにしました。
・結果の表示位置をそれぞれ変更します。
・ファイル保存は元ファイルが変更されてしまうので、まだ実行しないようにしておいてください。

    nrow = 5
    Do
        If Cells(nrow, 7) <> "" Then
            ExUtfRead Range("G2") & Cells(nrow, 7)
            
            MyDelHtml n1, n2
            Cells(nrow, 10) = n1
            Cells(nrow, 11) = n2
            
            MyChangeHtml n1, n2
            Cells(nrow, 12) = n1
            Cells(nrow, 13) = n2
            
            MyAddHtml
            
            n1 = MyPicChange(Range("G2") & Cells(nrow, 7))
            Cells(nrow, 14) = n1
            
            ExUtfSave
            nrow = nrow + 1
        Else
            Exit Do
        End If
     Loop

ExUtfReadにファイル名の引数を追加しました。
ExUtfReadにファイル名の引数を追加

Private Sub ExUtfRead(fname As String)
    Dim tmp As String
    Dim tobj As Object
     
    sUtfBuf = ""
    Set tobj = CreateObject("ADODB.Stream")

ファイル一覧をAMP変換した結果です。
ファイル一覧をAMP変換した結果


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

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


Copyright (c) Excel-Excel ! All rights reserved