[[20191224102726]] 『VBAでブックを開く際の外部データリンク更新の確煤x(硝子坊主) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAでブックを開く際の外部データリンク更新の確認を無くす』(硝子坊主)

特定のフォルダにある複数のExcelファイルを開いて指定の範囲のセルのデータを新しいワークブックにまとめてコピペするVBAを作成しています。

しかしフォルダにあるExcelには外部データリンクをしている場所があり、
ブックを開くたびにリンクの更新の有無を確認するダイアログが出るので、
これを表示させなくさせたいです。(データは更新しない)

Set NewFile = Workbooks.Add
Set Ws1 = NewFile.Worksheets(1)
Set R = Ws1.Range("A1")
Fn = Dir(Fol, vbNormal)
Do Until Fn = ""
Set Wb = Workbooks.Open(Fol & Fn)
Set Ws2 = Wb.Worksheets(1)

上記のように特定のフォルダを開くようにしていますが、
どのようにしたら開いたブックのリンク更新の表示が出ないように出来ますでしょうか。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


ループの前に Application.DisplayAlerts = False としておいて、終了時に True に戻してみてください。
(???) 2019/12/24(火) 11:00

ご返信ありがとうございます。
ループの前とは以下の行でしょうか。

Do Until Fn = ""

入れてみましたが、はやりブックを開いたタイミングで『このブックには、安全ではない〜』というダイアログが出てしまい途中で止まってしまいます。
入れる行が間違っているのでしょうか。
(硝子坊主) 2019/12/24(火) 11:10


 Openメソッドの引数に
 UpdateLinks
 があるがこれに0を設定してはどうだろうか?
 詳しくはヘルプを確認してみてくれ。

(ねむねむ) 2019/12/24(火) 11:25


 あっ、0は更新をしないなので更新させたい場合は3を指定してくれ。

(ねむねむ) 2019/12/24(火) 11:29


ねむねむ様

折角頂きましたアドバイスなのですが、私の知識不足で十分理解する事が出来なかったので
再度教えて頂きたいです。

Set Wb = Workbooks.Open(Fol & Fn) 

これのWorkbooks.Openの部分に代わりに

Workbooks.Open Filename:="開きたいブック", UpdateLinks:=0

を入れるという事でしょうか。

この開きたいブックは複数ある上にファイル名がそれぞれ異なるので指定する事が出来ないのですが
どのようにすればよいでしょうか。

(硝子坊主) 2019/12/24(火) 12:01


 Workbooks.Open(Fol & Fn)
 というのは
 Workbooks.Open(Filename:=Fol & Fn)
 を省略した形。
 (Openメソッドの第一引数がFilenameのため)
 なので
 Workbooks.Open(Filename:=Fol & Fn,UpdateLinks:=0)
 としてみてくれ。
(ねむねむ) 2019/12/24(火) 12:40

 ああ、UpdateLinksが第二引数なので
 Workbooks.Open(Fol & Fn,0)
 でもいいか。
(ねむねむ) 2019/12/24(火) 13:07

ぬむねむ様

お陰様で希望通りの動作をするようになりました。
大変助かります!有難う御座いました!
(硝子坊主) 2019/12/24(火) 13:21


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.