プロが教えるわが家の防犯対策術!

excelのxlam形式からxlsm形式に変換したい
こんにちは、
excelの開発の際に
xlsm形式で開発し、最後にxlam形式に変換するように
していたのですが、誤ってxlsm形式ファイルを削除してしまいました。
xlam形式からxlsm形式に変換することはできないでしょうか

A 回答 (1件)

xlamファイルを開いて、


VBEウィンドウでThisWorkbookモジュールのプロパティウィンドウから
IsAddinプロパティをFalseにしてAddin設定を解除します。
その後xlsm形式で保存し直すと良いです。

コードで表現すると以下。

Sub Macro1()
  Dim x
  x = Application.GetOpenFilename("xlamFiles,*.xlam")
  If VarType(x) = vbBoolean Then Exit Sub
  On Error GoTo errHandler
  With Workbooks.Open(x)
    .IsAddin = False
    .SaveAs Filename:=Replace$(x, "xlam", "xlsm"), _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled
    .Close
  End With
  'Kill x
  Exit Sub
errHandler:
  MsgBox Err.Number & "::" & Err.Description
End Sub

新規Bookに上記コードを置いて実行すると
xlamファイルを開くところから始まり、
同一フォルダにxlsm形式で別名保存します。
xlamファイルは手動で削除するか
'Kill x を非コメントにして活かしてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!