Excel VBA質問箱 IV

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

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


41450 / 76732 ←次へ | 前へ→

【40362】Re:エクセルプログラムの2重起動を禁止...
回答  Kein  - 06/7/12(水) 15:33 -

引用なし
パスワード
   まず、VBEのメニューで「挿入む「クラスモジュール」を選択して
クラスモジュールを追加して下さい。デフォルトでは Class1 という名前に
なっているはずです。そこに以下のコードを入れます。

Public WithEvents App As Application

Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
  Dim MyB As Workbook
 
  For Each MyB In Workbooks
   If MyB.Name = Wb.Name And Not MyB Is Wb Then
     Wb.Close False: Exit For
   End If
  Next
End Sub

そして標準モジュールの先頭から

Dim X As New Class1

Sub Auto_Open()
  Set X.App = Application
End Sub
  
を入れて、保存して閉じて下さい。
再度開いたときから、アプリケーションレベルのイベントが自動起動します。
そのまま「ファイル」「開く」で同じブックを開こうとしてみて下さい。
一瞬開きかけるのが分かると思いますが、すぐに閉じるはずです。
1 hits

【40342】エクセルプログラムの2重起動を禁止するには? HK 06/7/11(火) 23:28 質問
【40351】Re:エクセルプログラムの2重起動を禁止す... Statis 06/7/12(水) 9:20 発言
【40354】Re:エクセルプログラムの2重起動を禁止... HK 06/7/12(水) 11:00 質問
【40362】Re:エクセルプログラムの2重起動を禁止... Kein 06/7/12(水) 15:33 回答
【40363】Re:エクセルプログラムの2重起動を禁止... Kein 06/7/12(水) 15:34 発言
【40370】Re:エクセルプログラムの2重起動を禁止... HK 06/7/12(水) 17:36 質問
【40372】Re:エクセルプログラムの2重起動を禁止... Kein 06/7/12(水) 17:55 発言
【40389】Re:エクセルプログラムの2重起動を禁止... HK 06/7/13(木) 9:42 質問
【40420】Re:エクセルプログラムの2重起動を禁止... Kein 06/7/13(木) 15:23 回答
【40422】Re:エクセルプログラムの2重起動を禁止... HK 06/7/13(木) 15:33 質問

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