|
可能性としては、アプリケーションレベルのイベントで特定のブックを
開こうとしているのを検知し、AskToUpdateLinkの設定を切り替える方法
ぐらいでしょーか。
まず Personal.xls の VBEを開いて「挿入」「クラスモジュール」を
選びます。そこへ先頭から
Public WithEvents App As Application
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
If Wb.Name = ThisWorkbook.Name Then Exit Sub
App.AskToUpdateLinks = _
IIf(Wb.Name = "Book1.xls", False, True)
End Sub
というコードを入れます。もちろんBook1.xlsは、リンクを張っている
問題のブックの名前に書き換えて下さい。次に ThisWorkbookモジュールに
Dim X As New Class1
Private Sub Workbook_Open()
Set X.App = Application
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set X = Nothing
End Sub
というマクロを先頭から入れます。ブックを閉じ、いったんエクセルも
閉じてから再度立ち上げて下さい。その時からアプリケーションの
イベントが有効になります。各ブックのオープンイベントよりも前に
起動すれば、うまくメッセージを制御できるはずですが・・。
|
|