以下、「 C:\ ブック名.xlsx 」について記載しています。
1.「C:\ ブック名.xlsx」を開きます。
Workbooks.Open "C:\ ブック名.xlsx"
2.実行ファイル「ブック名.xlsx」のパスを取得します。
Dim パス As String
パス = ThisWorkbook.path & "\ブック名.xlsx"
3.「C:\ブック名.xlsx」の有無を調べ、有の場合は開きます。
If Dir("C:\Book1.xlsx") <> "" Then
Workbooks.Open "C:\ ブック名.xlsx"
Else
MsgBox "ファイルが存在しません。", vbExclamation
End If
4.「ブック名.xlsx」が、すでに開いているかチェックし、開いていなければ開きます。
Dim wb As Workbook
For Each wb In Workbooks
If wb.Name = " ブック名.xlsx" Then
MsgBox " ブック名は、すでに開いています"
Exit Sub
End If
Next wb
Workbooks.Open "C:\ ブック名.xlsx"
5.開かれている「ブック名.xlsx」を閉じます。
Workbooks("ブック名.xlsx").Close
6.開かれている「ブック名.xlsx」を保存して閉じるます。
Workbooks("ブック名.xlsx").Close savechanges:=True
7.開かれている「ブック名.xlsx」を保存しないで閉じます。
Workbooks("ブック名.xlsx").Close savechanges:=False
8.名前を付けて保存します。
Workbooks("ブック名.xlsx").SaveAs フルパス
保存するブックが、どのように開かれたか、どのように作成されたかによって、いくつかのパターンがあります。
① 追加した新規ブックを保存する時
Dim ワークブック As Workbook
Set ワークブック = Workbook.Add
ワークブック.SaveAs ThisWorkbook.Path & “¥ブック名.xlsx”
② シートを新規ブックとしてコピーし保存する時
Dim ワークブック As Workbook
Worksheets(“コピー元“).Copy
Set ワークブック = ActiveWorkbook
ワークブック.SaveAs ThisWorkbook.Path & “¥ブック名.xlsx”
③ 開いたブックを別ファイルで保存する時
Dim ワークブック As Workbook
Set ワークブック = Workbooks.Open(ThisWorkbook.Path & “¥ブック名.xlsx”)
ワークブック.SaveAs ThisWorkbook.Path & “¥別名のブック名.xlsx”
9.保存時に確認メッセージを非表示にします。
Application.DisplayAlerts = False
Workbooks("ブック名.xlsx ").Close
Application.DisplayAlerts = True
上書き保存をして閉じると、確認メッセージは出ません。
Workbooks("ブック名.xlsx ").Save
Workbooks("ブック名.xlsx ").Close