Excel VBA質問箱 IV

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

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


10564 / 13646 ツリー ←次へ | 前へ→

【21084】ブックの状態 kazuxu 05/1/11(火) 13:14 質問[未読]
【21086】Re:ブックの状態 Jaka 05/1/11(火) 13:51 回答[未読]
【21091】Re:ブックの状態 kazuxu 05/1/11(火) 16:33 お礼[未読]
【21087】Re:ブックの状態 IROC 05/1/11(火) 13:51 回答[未読]
【21092】Re:ブックの状態 kazuxu 05/1/11(火) 16:34 お礼[未読]

【21084】ブックの状態
質問  kazuxu E-MAIL  - 05/1/11(火) 13:14 -

引用なし
パスワード
   現在、ブックが開かれているか、そうでないかを取得する方法を探しています。
もし、ブックが開かれていないのならそのブックを開き、すでに開かれているのなら、
何もしない処理をしたいんです。
ブックの状態を表す定数かプロパティみたいなものがあるはずなのですが、調べても
わかりません。よろしくおねがいします。

【21086】Re:ブックの状態
回答  Jaka  - 05/1/11(火) 13:51 -

引用なし
パスワード
   こんにちは。
エラートラップしてみました。

Dim bb As Workbook, Bpas As String
Bpas = "フルパスファイル名"
On Error Resume Next
Set bb = Workbooks(Dir(Bpas))
On Error GoTo 0
Err.Clear
If bb Is Nothing Then
  Workbooks.Open (Bpas)
End If

【21087】Re:ブックの状態
回答  IROC  - 05/1/11(火) 13:51 -

引用なし
パスワード
   ループして判定することが出来ますよ。


Dim wb As Workbook

  For Each wb In Workbooks
    If wb.Name = "Book1.xls" Then
      MsgBox "Book1.xls は開かれています。"
      Exit Sub
    End If
  Next wb
  
  MsgBox "Book1.xls は開かれていません。"

【21091】Re:ブックの状態
お礼  kazuxu  - 05/1/11(火) 16:33 -

引用なし
パスワード
   ▼Jaka さん:
>こんにちは。
>エラートラップしてみました。
>
>Dim bb As Workbook, Bpas As String
>Bpas = "フルパスファイル名"
>On Error Resume Next
>Set bb = Workbooks(Dir(Bpas))
>On Error GoTo 0
>Err.Clear
>If bb Is Nothing Then
>  Workbooks.Open (Bpas)
>End If
こういう、プログラミングの仕方もあるんですね。参考になりました。
ありがとうございました。

【21092】Re:ブックの状態
お礼  kazuxu  - 05/1/11(火) 16:34 -

引用なし
パスワード
   ▼IROC さん:
>ループして判定することが出来ますよ。
>
>
>Dim wb As Workbook
>
>  For Each wb In Workbooks
>    If wb.Name = "Book1.xls" Then
>      MsgBox "Book1.xls は開かれています。"
>      Exit Sub
>    End If
>  Next wb
>  
>  MsgBox "Book1.xls は開かれていません。"

コレクションで、判別する方法があるとは・・・
参考になりました。ありがとうございました。

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