Excel VBA質問箱 IV

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

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


34767 / 76734 ←次へ | 前へ→

【47173】Re:UpdateLinks?
発言  Kein  - 07/3/2(金) 21:54 -

引用なし
パスワード
   可能性としては、アプリケーションレベルのイベントで特定のブックを
開こうとしているのを検知し、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

というマクロを先頭から入れます。ブックを閉じ、いったんエクセルも
閉じてから再度立ち上げて下さい。その時からアプリケーションの
イベントが有効になります。各ブックのオープンイベントよりも前に
起動すれば、うまくメッセージを制御できるはずですが・・。

1 hits

【47145】UpdateLinks? もとあし 07/3/2(金) 10:46 質問
【47146】Re:UpdateLinks? りん 07/3/2(金) 11:14 回答
【47147】Re:UpdateLinks? もとあし 07/3/2(金) 11:40 質問
【47170】Re:UpdateLinks? りん 07/3/2(金) 20:48 発言
【47173】Re:UpdateLinks? Kein 07/3/2(金) 21:54 発言
【47200】Re:UpdateLinks? もとあし 07/3/5(月) 9:59 お礼
【47210】Re:UpdateLinks? Kein 07/3/5(月) 14:41 発言
【47215】Re:UpdateLinks? もとあし 07/3/5(月) 15:22 質問
【47220】Re:UpdateLinks? Kein 07/3/5(月) 15:55 発言
【47222】Re:UpdateLinks? もとあし 07/3/5(月) 16:18 お礼

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