10.ブックを「開く」と「閉じる」についての色々なパターン

以下、「 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