Excel Tips by pPoy

トップへ←Top    VBAへVBA  VBA基礎へ VBA 基礎  一般へ一般  

Macro ABC ExcelVBAでブックを開く・閉じる・保存する方法色々 (Excel97,2000,2002)
ExcelVBA でブックを開く方法と閉じる (保存する) 方法をまとめてみました。《Workbookオブジェクト》

≪ブックを開く・・・Open≫
  'カレントフォルダ内のブックを開く →「本.xls」

  Workbooks.Open "本.xls"  
  Workbooks.Open Filename:="本.xls"   'こちらの方が解りやすい
  'フォルダを指定してブックを開く

  Workbooks.Open "D:\仕事\本.xls"
  'カレントドライブとカレントフォルダを変更後、ブックを開く
  'カレントフォルダはこのブックを閉じるまで変更されたままとなる。

  ChDrive "D"
  ChDir "\仕事"
  Workbooks.Open "本.xls"

≪ブックを選択する・・・Activate≫
  '現在開いているブックの内、「本.xls」 を選択する

  Workbooks("本.xls").Activate
  '2個目に開いたブックを選択する

  Workbooks(2).Activate

≪新規ブックを作成する・・・Add≫
  '新規ブックを作成する (空白のブックが作成される)

  Workbooks.Add
  'カレントフォルダ内の既存のブックをテンプレートとして新規ブックを開く
  '「本.xls」 を元に 「本1.xls」 が作成される

  Workbooks.Add template:="本.xls"
  Workbooks.Add "本.xls"        'こちらでもOK

≪ブックを閉じる・・・Close≫
  '2番目に開いたブックのみを閉じる

  Workbooks(2).Close
  'すべての開いているブックを閉じる
  '未保存のブックがあった場合、保存のダイアログが出る

  Workbooks.Close
  '変更を保存して閉じる
  '上書き保存確認のダイアログは出ない

  Workbooks("本.xls").Close SaveChanges:=True
  '現在作業中のブック以外の、
  '他に開いている全てのブックを保存して閉じる。

  Dim w As Workbook
  For Each w In Workbooks
    If w.Name <> ThisWorkbook.Name Then
      w.Close SaveChanges:=True
    End If
  Next
  '変更を保存しないで閉じる

  Workbooks("本.xls").Close SaveChanges:=False
  '変更を保存したことにして閉じる (保存はしない)

  With Workbooks("本.xls")
    .Saved = True
    .Close
  End With
  '指定したブックを上書き保存する (閉じない)

  Workbooks("本.xls").Save
  '現在実行中のコードのあるブックを上書き保存する (閉じない)

  ThisWorkbook.Save
  '現在実行中のコードのあるブックを名前をつけて保存する(閉じない)
  '現在のブックは「本2.xls」に変更される

  ThisWorkbook.SaveAs "本2.xls"
  '現在アクティブなブックに名前をつけて保存する(閉じない)

  ActiveWorkbook.SaveAs Filename:="本2.xls"

≪注意≫

引数付きのメソッドで、その引数が一番最初のものであった場合、
引数名を省略して渡すことが出来ます。

(例)

 ActiveWorkbook.SaveAs Filename:="本2.xls"
 ActiveWorkbook.SaveAs "本2.xls"      (「Filename:=」部分を省略できる)



2個目以降の引数を渡す場合、引数と引数の間の「,」は省略できません。
引数名を省略する場合は、順番も入れ替えることが出来ません。
但し、名前付き引数として渡す場合は、順不同で渡すことができます。

(例)

 ActiveWorkbook.SaveAs "本2.xls", ,"password"
 ActiveWorkbook.SaveAs Password:="password", Filename:="本2.xls"




この頁のTOPへTop
【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。
又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
  form mail はこちら


Copyright(C) pPoy 2003-2010