【VBA】名前(別名)を付けてブックを保存する【形式いろいろ】

名前(別名)を付けてブックを保存する方法を
記載します!

保存する際に、
 ・xlsx形式
 ・xlsm形式
 ・パスワードを設定
 ・読み取り専用の推奨を設定
 ・共有設定
にする方法も記載します!

PR

xlsx形式で保存

ここでは例として、
 ・ブックを新規作成し
 ・xlsx形式で名前(別名)を付けて保存して
 ・ブックを閉じる
処理を作成します。

Option Explicit

Sub sample()
    
    '保存するブックのファイル名
    Const newBookFilePath As String = "C:\Users\user\Desktop\newbook.xlsx"
    
    Dim wk As Workbook
    
    'ブックを新規作成
    Set wk = Workbooks.Add
    
    '名前を付けて(別名で)、xlsx形式で保存
    Application.DisplayAlerts = False
    wk.SaveAs Filename:=newBookFilePath, FileFormat:=xlWorkbookDefault
    Application.DisplayAlerts = True
    
    'ブックを閉じる
    wk.Close
    
End Sub

「XXX.SaveAs」により、名前(別名)を付けてブックを保存できます。

「Filename:=」にファイル名を指定します。

「FileFormat:=xlWorkbookDefault」を付けることで、「xlsx形式で保存」できます。

保存する直前に「Application.DisplayAlerts = False」を実行することで、以下等のメッセージを非表示にできます。
※VBAの処理が止まらないようにできます。

同名ファイルが存在する場合に表示されるメッセージ
同名ファイルが存在する場合に表示されるメッセージ

※保存後は「True」に戻しましょう。上記も戻しています。

PR

xlsm形式で保存

ここでは例として、
 ・ブックを新規作成し
 ・xlsm形式で名前(別名)を付けて保存して
 ・ブックを閉じる
処理を作成します。

Option Explicit

Sub sample()
    
    '保存するブックのファイル名
    Const newBookFilePath As String = "C:\Users\user\Desktop\newbook.xlsm"
    
    Dim wk As Workbook
    
    'ブックを新規作成
    Set wk = Workbooks.Add
    
    '名前を付けて(別名で)、xlsm形式で保存
    Application.DisplayAlerts = False
    wk.SaveAs Filename:=newBookFilePath, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    Application.DisplayAlerts = True
    
    'ブックを閉じる
    wk.Close
    
End Sub

「FileFormat:=xlOpenXMLWorkbookMacroEnabled」を付けることで、「xlsm形式で保存」できます。

PR

「パスワード」を設定して保存

ここでは例として、
 ・ブックを新規作成し
 ・xlsx形式で名前(別名)を付けて
 ・パスワードを設定し保存して
 ・ブックを閉じる
処理を作成します。

Option Explicit

Sub sample()
    
    '保存するブックのファイル名
    Const newBookFilePath As String = "C:\Users\user\Desktop\newbook.xlsx"
    
    Dim wk As Workbook
    
    'ブックを新規作成
    Set wk = Workbooks.Add
    
    '名前を付けて(別名で)、xlsx形式でパスワードを設定して保存
    Application.DisplayAlerts = False
    wk.SaveAs Filename:=newBookFilePath, FileFormat:=xlWorkbookDefault, Password:="aiueo"
    Application.DisplayAlerts = True
    
    'ブックを閉じる
    wk.Close
    
End Sub

「Password:=”XXXXX”」を付けることで、「パスワード」を設定できます。
※上記ではパスワードを「aiueo」としています。


上記で保存されたExcelファイルを開くと、
 ・パスワード入力を求めるメッセージが表示
されます。

パスワード入力を求めるメッセージ
パスワード入力を求めるメッセージ
PR

「読み取り専用を推奨」を設定して保存

ここでは例として、
 ・ブックを新規作成し
 ・xlsx形式で名前(別名)を付けて
 ・読み取り専用を推奨の設定をし保存して
 ・ブックを閉じる
処理を作成します。

Option Explicit

Sub sample()
    
    '保存するブックのファイル名
    Const newBookFilePath As String = "C:\Users\user\Desktop\newbook.xlsx"
    
    Dim wk As Workbook
    
    'ブックを新規作成
    Set wk = Workbooks.Add
    
    '名前を付けて(別名で)、xlsx形式で読み取り専用を推奨の設定をして保存
    Application.DisplayAlerts = False
    wk.SaveAs Filename:=newBookFilePath, FileFormat:=xlWorkbookDefault, ReadOnlyRecommended:=True
    Application.DisplayAlerts = True
    
    'ブックを閉じる
    wk.Close
    
End Sub

「ReadOnlyRecommended:=True」を付けることで、「読み取り専用を推奨」を設定できます。


上記で保存されたExcelファイルを開くと、
 ・「読み取り専用を推奨」するメッセージが表示
されます。

「読み取り専用を推奨」するメッセージ
「読み取り専用を推奨」するメッセージ
PR

「共有」を設定して保存

ここでは例として、
 ・ブックを新規作成し
 ・xlsx形式で名前(別名)を付けて
 ・共有の設定をし保存して
 ・ブックを閉じる
処理を作成します。

Option Explicit

Sub sample()
    
    '保存するブックのファイル名
    Const newBookFilePath As String = "C:\Users\user\Desktop\newbook.xlsx"
    
    Dim wk As Workbook
    
    'ブックを新規作成
    Set wk = Workbooks.Add
    
    '名前を付けて(別名で)、xlsx形式で共有設定して保存
    Application.DisplayAlerts = False
    wk.SaveAs Filename:=newBookFilePath, FileFormat:=xlWorkbookDefault, AccessMode:=xlShared
    Application.DisplayAlerts = True
    
    'ブックを閉じる
    wk.Close
    
End Sub

「AccessMode:=xlShared」を付けることで、「共有」を設定できます。


上記で保存されたExcelファイルを開くと、
 ・「共有」の設定となっている旨を確認
できます。

「共有」の設定となっている旨
PR

参考

「XXX.SaveAs」の詳細は、公式サイトをご確認ください。