dポイントプレゼントキャンペーン実施中!

いつもお世話になっています。

Excelでセルに他のブックのリンクを貼ってある場合、
ブック起動時に『更新しますか?』と聞いてきますよね(メニューバーの編集→リンクの設定→起動時の設定で聞いてこないようにもできますが)。

(1)VBAでリンクの更新をさせるには、どのように書けばよろしいでしょうか?

(2)また、『値の更新』ボタンがグレーアウトされていてクリックできないのですが、理由(原因)は何でしょうか?

教えてください、よろしくお願いします。

A 回答 (2件)

こんばんは。



(1) 特定のブックならば、Open メソッドの中の引数の、UpdateLinks を3にすればよいけれども、設定はそのままで、開いた時に操作する方法は、

たぶん、ThisWorkbook のOpenイベントに、以下のようなものを入れておけばよいと思います。
ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways

この方法はやったことがないので、確実にできるか分かりませんが。
というのは、ダイアログが先か、Openイベントが先かは、分かりません。

(2)『値の更新』ボタンがグレーアウト というのは、確か、更新元のファイルがなくなって、値だけが残っている場合だったと思います。
    • good
    • 0
この回答へのお礼

Webdy02さん、いつもありがとうございます。
私もネットや参考書で調べてはいるのですが、どうしてもこちらのサイトの方が早く確実なのでつい頼ってしまいます。

>ダイアログが先か、Openイベントが先かは、分かりません
なるほど、これは確かめてみないとわかりませんね。

今は自宅なので教えていただいたことを試す環境にはないのですが、明日出社後早速試してみます。
本当にありがとうございました!

お礼日時:2007/01/18 20:37

補足:


#1 のWendy02です。

Private Sub Workbook_Open()
On Error Resume Next
 ThisWorkbook.UpdateLinks = xlUpdateLinksAlways
On Error Goto 0
End Sub

としてください。もちろん、個人用マクロブックに入れるときは、

ThisWorkbook を ActiveWorkbook
に読み換えてください。試してみたら、リンクのないブックには、オブジェクト・エラーが発生しました。
    • good
    • 0
この回答へのお礼

何度もすみません、本当にありがとうございます。

試してみましたが、
openイベントよりもダイアログが先に出てきちゃいました。
しかし、どちらかというとopen時よりも
処理途中で使用したかったので特に問題はありません。
ActiveWorkbookに読み換えて使用させていただきます。

私事ですが、
現在の仕事はExcelやAccessでツール作成がメインなので、
またこのように質問させていただくことが多々あるかもしれませんが、
その際はWendy02さんをはじめ皆様よろしくお願いします。

お礼日時:2007/01/19 11:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています