既存xls形式ブックをxlsx、xlsm形式で保存し直す
Excel2003までの保存形式はxls形式でした。
Excel2007以降はマクロが使えるブックはxlsm形式、
マクロが使えないブックはxlsx形式になりました。
xls形式のブックとは言い換えると
拡張子が.xlsのブックのことです。
同じくxlsx形式の拡張子は.xlsx、
xlsm形式の拡張子は.xlsmです。
xlsx、xlsm形式で保存すると
使用できる行数、列数が
65,536 行、256 列から1,048,576 行、16,384 列に増加するなど
既存のxls形式ブックをxlsx、xlsm形式で保存し直すメリットがあります。
VBAで既存xls形式ブックをxlsx形式で保存し直していきます。
下記のコードでは
既存xls形式ブックを開いて、
保存形式をxlsxに変更して名前を付けて保存します。
変数wb_path1は既存xls形式ブックが保存されているフォルダ場所、
変数wb_name1は既存ブックの拡張子xlsを含むブック名、
変数wb_path2は再保存するブックを保存するフォルダ場所、
変数wb_name2はwb_name1の拡張子を除いたブック名です。
名前を付けて保存はSaveASメソッドを使用します。
xlsx形式で保存する際にアラートが出るので
Application.DisplayAlerts = False
でアラートを無効にしています。
また、xls形式ブックにマクロがあった場合は
xlsx形式ブックにマクロは保存されません。
コードはこちら
|
Sub macro200323a() Dim wb As Workbook |
実行結果は
保存先に指定したフォルダに
xlsx形式のブックが保存されているか確認してください。
xlsm形式で保存したい場合は、
上のマクロのFileFormat引数のxlWorkbookNormal部分を
xlOpenXMLWorkbookMacroEnabledに変更してください。
| 固定リンク
この記事へのコメントは終了しました。

コメント