ワークブックの操作 4

VBAトップへ
   4 ワークブックの操作
  ワークブックの作成
  ワークブックを開く
  ークブックを閉じる
  ークブックを保存する
  ークブックのイベントプロシージャ

ワークブックの作成

1.ワークブックの作成

ワークブックの作成にはAddメソッドを使用します。


'ワークブックを新規に作成する
Sub AddWorkbook()
     Workbooks.Add
End Sub

先頭へ戻る

ワークブックを開く

2.ワークブックを開く

 ワークブックを開くにはOpenメソッドを使用します。

メソッド引数定数内容
OpenFilename--開くブックのファイル名
Password--読み取りのパスワードを指定
WriteResPassword--書き込みパスワードを指定
ReadOnlyTrueブックを読み取り専用モードで開く
Falseブックを読み取り専用モードで開かない


'"c:\test.xls"に保存されているワークブックを開く
Sub OpenWorkbook()
     Workbooks.Open Filename := "c:\test.xls"
End Sub

'パスワード保護されたブックを開く
Sub OpenWorkbook()
     Workbooks.Open FileName:="c:\test.xls" , Password:="AAAABBBB"
End Sub

'書き込み保護されたブックを開く
Sub OpenWorkbook()
     Workbooks.Open FileName:="c:\test.xls" , _
                           WriteResPassword:="CCCCDDDD"
End Sub

'ブックを読み取り専用モードで開く
Sub OpenWorkbook()
     Workbooks.Open FileName:="c:\test.xls" , ReadOnly:=True
End Sub

組み込みダイアログ ボックスによりブックを開くにはDialogsオブジェクトを使用します。


'組み込みダイアログ ボックスによりブックを開く
Application.Dialogs(xlDialogOpen).Show

先頭へ戻る

   

ワークブックを閉じる

3.ワークブックを閉じる

ワークブックを閉じるにはCloseメソッドを使用します。引数により保存して閉じる、保存しないで閉じるを指定できます。

メソッド引数定数内容
CloseSaveChangesTrueブックの変更を保存します。ブックにファイル名が付けられていない場合は、引数 FileName を使ってファイル名を指定します。引数 FileName を省略すると、ファイル名の入力を促すダイアログ ボックスが表示されます。
Falseファイルの変更を保存しません
省略ファイル名の入力を促すダイアログ ボックスが表示されます。
Filename--指定されたファイル名で、変更したファイルを保存します。


'ワークブック"Book1"を保存して閉じる
'新規の場合はダイアログボックスが表示される
Sub CloseWorkbook()
     Workbooks("Book1").Close SaveChanges:=True
End Sub

'ワークブック"Book1.xls"を保存しないで閉じる
Sub CloseWorkbook()
     Workbooks("Book1").Close SaveChanges:= False
End Sub

'ワークブック"Book1.xls"をファイル名"Book2.xls"に変更して閉じる
Sub CloseWorkbook()
     Workbooks("Book1").Close SaveChanges:=True, _
                                Filename := "Book2"
End Sub

ワークブックを閉じると共にExcelを終了する場合はApplicationオブジェクトとQuitメソッドを使用します。


'ワークブック"Book1.xls"を保存して閉じると共にExcelを終了する
Sub CloseWorkbook()     
     Application.Quit
     Windows("Book1.xls").Close True
End Sub

'ワークブック"Book1.xls"を保存しないで閉じると共にExcelを終了する
Sub CloseWorkbook()
     Application.Quit
     Windows("Book1.xls").Close True
End Sub

先頭へ戻る

   

ワークブックを保存する

4.ワークブックの保存

ワークブックの保存にはSaveAsメソッドを使用します。引数によりファイル名、ファイル形式、パスワードを設定することができます。

メソッド引数定数内容
SaveAsFilename--保存するファイル名
FileFormatxlWorkbookNormalブック形式
xlCSVCSVファイル形式
xlExcel9795Excel97,95形式
xlHTMLHTML形式
Password--読み取りのパスワードを設定
WriteResPassword--書き込みパスワードを設定


'"c:\test.xls"のファイル名で保存する
Sub SaveWorkbook()
     Workbooks("Book1").SaveAs Filename :="c:\test.xls"
End Sub

'"c:\test.csv"のファイル名で、CSV形式にて保存する
Sub SaveWorkbook()
     Workbooks("Book1").SaveAs Filename :="c:\test.csv" _ 
                                  , FileFormat := xlCSV
End Sub

'"c:\test.xls"のファイル名でパスワードを"aaaaaa"に設定して保存する
Sub SaveWorkbook()
     Workbooks("Book1").SaveAs Filename :="c:\test.xls"  _
                                    , Password := "aaaaaa"
End Sub

先頭へ戻る

   

ワークブックのイベントプロシージャ

5.ワークブックのイベントプロシージャ

Workbookのイベントプロシージャとは、"ワークブックを開いた"、"ワークブックを保存した"といった具合に ワークブックに対して操作(イベント)を行った際に実行されるプロシージャです。

以下はイベントプロシージャの使い方です。

  1. まず、プロジェクトからワークブックを選択(図ではBook1を選択)→表示→コードをクリックします。


  2. ワークブックイベント

  3. 左のドロップダウンリストより、Workbookを選択します。


  4. ワークブックイベント

  5. 以下のコードが自動的に記述されます。


  6. ワークブックイベント

  7. 右のドロップダウンリストより、イベントプロシージャを選択します(図ではBeforeCloseを選択)。


  8. ワークブックイベント

  9. イベントプロシージャを選択すると自動的にコードが記入されるので、コードを記入します(図ではメッセージボックスを表示させるコードを記述)。


  10. ワークブックイベント

  11. ワークブックを保存しようとするとメッセージボックスが表示されます。


  12. ワークブックイベント

Workbookのイベントプロシージャには以下のものがあります。

イベント内容
Workbook_Openワークブックを開いた時に発生します。
Workbook_Activateワークブックがアクティブになった時に発生します。
Workbook_WindowActivateワークブックウィンドウがアクティブになった時に発生します。
Workbook_WindowResizeワークブックウィンドウがリサイズされた時に発生します。
Workbook_BeforeCloseワークブックを閉じる前に発生します。
Workbook_WindowDeactivateワークブックウィンドウがアクティブでなくなった時に発生します。
Workbook_Deactivateワークブックがアクティブでなくなった時に発生します。
Workbook_BeforeSaveワークブックを保存する前に発生します。

   

   先頭へ戻る   

中級・特別編トップへ