人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ワークブックが開かれているかどうか確認して、開いていないなら、開くのをVBAで簡単に書く方法教えてください。


●質問者: kaiketsu
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:VBA いるか
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● SALINGER
●60ポイント

簡単とまではいきませんが。

同名のブックが開いているかどうかは、wbに代入することでエラーが出るかどうか、

ブックが存在しないか、何らかの原因で開くことができないかは、実際に開いてみてエラーが出るかどうかで判断しています。


Sub test()
 Dim wb As Workbook
 Const wbName As String = "test.xls"
 
 On Error Resume Next
 Err.Clear
  'ブックが既に開いているか
 Set wb = Workbooks(wbName)
 If Err.Number > 0 Then
 Err.Clear
  'ブックが存在しないか、開くことができないか
 Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & wbName)
 If Err.Number > 0 Then
 MsgBox wbName & "を開くことができません"
 On Error GoTo 0
 Exit Sub
 End If
 On Error GoTo 0
 Else
 MsgBox wbName & "という名前のブックは既に開いています。"
 On Error GoTo 0
 End If
End Sub

http://q.hatena.ne.jp/

◎質問者からの返答

ありがとうございます。おもったより面倒なんですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ