Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8427 / 13644 ツリー ←次へ | 前へ→

【33348】2重にひらかないようにしたい mame 06/1/9(月) 16:54 質問[未読]
【33350】Re:2重にひらかないようにしたい かみちゃん 06/1/9(月) 17:05 回答[未読]
【33364】Re:2重にひらかないようにしたい mame 06/1/9(月) 18:40 お礼[未読]

【33348】2重にひらかないようにしたい
質問  mame  - 06/1/9(月) 16:54 -

引用なし
パスワード
   Set WB = Workbooks.Open(ThisWorkbook.Path & "\test.xls")
と記述し、実行させると、既に開いている場合
エラーメッセージが「今までの処理が破棄されます」とでてしまいますが
このエラーメッセージを回避するばあい、どのようにすればよろしいでしょうか?
開いているか、開かれてないか、調べるマクロの記述について教えてください

【33350】Re:2重にひらかないようにしたい
回答  かみちゃん  - 06/1/9(月) 17:05 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>開いているか、開かれてないか、調べるマクロの記述について教えてください

以下のような感じでできます。

Sub Macro1()
 Dim strWBName As String
 Dim WBCK As Boolean
 Dim tmpWB As Workbook
 
 strWBName = "test.xls"
 WBCK = True
 
 'すべての開いているブックの名前と一致しているかチェック
 For Each tmpWB In Workbooks
  If strWBName = tmpWB.Name Then
   WBCK = False
  End If
 Next
 
 If WBCK Then
  Set WB = Workbooks.Open(ThisWorkbook.Path & "\" & strWBName)
 Else
  MsgBox strWBName & " は、すでに開かれています。"
 End If
End Sub

[#33333]のスレッドのご質問はいかがだったのでしょうか?

【33364】Re:2重にひらかないようにしたい
お礼  mame  - 06/1/9(月) 18:40 -

引用なし
パスワード
   ありがとうございました。
できました

8427 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free