対象:Excel97, Excel2000, Excel2002, Excel2003
業務アプリケーションを作成する際、複数のファイルを利用する処理が含まれていると、処理をはじめる前にそのファイル・ワークブックが開かれているかを調べる必要が出てくるため、VBAの講座で実務的なコーディング段階まで進むと、
「ワークブックが開いているかを調べたいのですが?」
「ファイルが開かれているかどうかをチェックするにはどうすればいいのでしょう?」
というご質問をいただくことになります。
[スポンサードリンク]
ブックが開かれているかを調べるFunctionプロシージャ
こういった処理はよく行われるわけですから、関数(Functionプロシージャ)を作成しておいて、使いまわすといいでしょう。
▼ブックが開かれているかを調べるユーザー定義関数
Function IsOpen(ByVal ブック名 As String) As Boolean
Dim bk As Workbook
For Each bk In Workbooks
If UCase(bk.Name) = UCase(ブック名) Then
IsOpen = True
Exit Function
End If
Next
IsOpen = False
End Function
Function IsOpen(ByVal ブック名 As String) As Boolean
Dim bk As Workbook
For Each bk In Workbooks
If UCase(bk.Name) = UCase(ブック名) Then
IsOpen = True
Exit Function
End If
Next
IsOpen = False
End Function
引数にファイル名・ブック名を指定して、そのファイルが開かれていればTrue、開かれていなければFalseを返します。
Functionプロシージャで行っている処理
For Each~Nextループで、Workbooksコレクションオブジェクトに含まれるWorkbookオブジェクトの名前を順番に調べ、
For Each bk In Workbooks
引数で指定されたファイル名と一致したものがあったときに、
If UCase(bk.Name) = UCase(ブック名) Then
開かれていると判断してTrueを返しています。
IsOpen = True
Exit Function
最終更新日時:2018-09-12 16:28
[スポンサードリンク]
- Newer:サムネイル表示されるOfficeファイル
- Older:画像が回転できない
Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » ファイル・ワークブックが開かれているかをチェックするユーザー定義関数