Excel VBA質問箱 IV

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

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


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

【24572】二重に開く事を禁止するには yamazaki 05/4/26(火) 20:35 質問[未読]
【24574】Re:二重に開く事を禁止するには ponpon 05/4/26(火) 21:13 発言[未読]
【24575】Re:二重に開く事を禁止するには ウッシ 05/4/26(火) 21:30 回答[未読]
【24577】Re:二重に開く事を禁止するには yamazaki 05/4/27(水) 6:43 お礼[未読]

【24572】二重に開く事を禁止するには
質問  yamazaki  - 05/4/26(火) 20:35 -

引用なし
パスワード
   皆様、今晩は!いつも明快なお答え感謝です。m(_)m

早速質問させてもらいます。
不特定多数のヒトが使用するEXCELブック(仮にAとします)があるの
ですが、このAを使用するにあたり、間違った操作(特に終了操作)を
されるといけないのでツールバーやメニューバーを隠すことにしました。
  
  Application.DisplayFullScreen = True
  With Application
  Application.CommandBars("Worksheet Menu Bar").Enabled = False
  end with

ここで、他のEXCELブック(Bとします)を開いて次にA(上記にて説明)を、
開いたらAの終了時に間違ってBの編集内容を消されてしまうことがあるのでこれを
防ぎたいと思います。
Bを開いている場合は一旦終了しない限りはAは警告など出して開けないというふう
にしたいのです。
よろしくお願いします。私では力不足でわからないです・・・。
aut_openを使えばできるのかなー?

【24574】Re:二重に開く事を禁止するには
発言  ponpon  - 05/4/26(火) 21:13 -

引用なし
パスワード
   こんばんは。ponponです。
これで、ファイルが開かれているかどうかは
わかりますが、どこに書くのでしょう?A.xls or B.xls or C.xls

Sub test()
  Dim wb As Workbook
 
  On Error GoTo ErrMSG
  Set wb = Workbooks("B.xls")
  MsgBox "B.xlsが開かれています。" & vbCrLf & "A.xlsは開けません"
  Exit Sub
 
ErrMSG:
  MsgBox "B.xlsは開かれていません。" & vbCrLf & "A.xlsは開けます"
End Sub

【24575】Re:二重に開く事を禁止するには
回答  ウッシ  - 05/4/26(火) 21:30 -

引用なし
パスワード
   こんばんは

A.xlsにセットするなら、こんな感じで

Private Sub Workbook_Open()
  Dim wb As Workbook
  For Each wb In Workbooks
    If wb.Name <> ThisWorkbook.Name And _
      wb.Name <> "PERSONAL.XLS" Then
      MsgBox "他のブックを閉じてから再オープンして下さい。", 48
      ThisWorkbook.Close
    End If
  Next
End Sub

【24577】Re:二重に開く事を禁止するには
お礼  yamazaki  - 05/4/27(水) 6:43 -

引用なし
パスワード
   ponponさんウッシさんレスつけてもらいありがとうございます。

私としてはAにセットしようと思ってます。

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