Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » ファイル・ワークブックが開かれているかをチェックするユーザー定義関数

ファイル・ワークブックが開かれているかをチェックするユーザー定義関数

対象: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

引数にファイル名・ブック名を指定して、そのファイルが開かれていれば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

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » ファイル・ワークブックが開かれているかをチェックするユーザー定義関数

「ユーザー定義関数」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.