[[20251221193322]] 『マクロが含まれるファイルからマクロの削除』(けーた) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『マクロが含まれるファイルからマクロの削除』(けーた)

マクロの含まれるファイルからマクロを一括削除するマクロは作れるものでしょうか。

< 使用 Excel:unknown、使用 OS:unknown >


ファイル → 名前を付けて保存

ファイルの種類を
「Excel ブック(.xlsx)」
に変更

保存
(永合) 2025/12/21(日) 20:46:02


シートモジュールに記述したものでなければ、全シートを新規ブックにコピーし、別名で保存するアプローチもありますね。

削除するというより、マクロなしバージョンを別に作成するという考え方をするとよいと思います。

(もこな2 ) 2025/12/21(日) 21:06:43


 EXCELファイルがあるフォルダ内のxlsm ファイルを自ファイルを除いてすべて xlsx に変更保存するマクロを作成せよ

 以下は
  このマクロを含む Excel ファイルが置かれているフォルダ
  拡張子が .xlsm のファイル
  ただし「このマクロ自身のファイル」は除外
  すべて .xlsx として保存し直す(マクロなし)
 を行う VBA マクロです。

 Option Explicit
 Sub xlsmをxlsxに一括変換()

    Dim folderPath As String
    Dim fileName As String
    Dim wb As Workbook
    Dim myFileName As String
    Dim newFilePath As String

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    ' このマクロ自身のファイル名
    myFileName = ThisWorkbook.Name

    ' このマクロが置かれているフォルダ
    folderPath = ThisWorkbook.Path & "\"

    ' フォルダ内の xlsm を順に処理
    fileName = Dir(folderPath & "*.xlsm")

    Do While fileName <> ""

        ' 自分自身は除外
        If fileName <> myFileName Then

            Set wb = Workbooks.Open(folderPath & fileName)

            ' 保存先(拡張子を xlsx に変更)
            newFilePath = folderPath & _
                          Replace(fileName, ".xlsm", ".xlsx")

            ' xlsx として保存(マクロ削除)
            wb.SaveAs _
                Filename:=newFilePath, _
                FileFormat:=xlOpenXMLWorkbook

            wb.Close SaveChanges:=False
        End If

        fileName = Dir
    Loop

    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

    MsgBox "変換が完了しました。", vbInformation
 End Sub

(英愛) 2025/12/21(日) 21:55:45


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.