1. ホーム
  2. excel

[解決済み] リンク更新の警告を表示しないようにするには?

2022-09-18 01:41:02

質問

多くの Excel ファイルを開くスクリプトを作成しようとしています。 プロンプトが表示され続けています。

This workbook contains links to other data sources.

このメッセージを表示させないようにして、スクリプトが自動的にすべてのワークブックを通過するようにしたいのですが、そのために私がクリックしなくても Don't Update をクリックすることなく、スクリプトが自動的にすべてのワークブックを処理するようにしたいのです。 現在、私は以下を使用しています。

function getWorkbook(bkPath as string) as workbook

Application.EnableEvents=False
Application.DisplayAlerts=False
getWorkbook=Workbooks.Open(bkPath,updatelinks:=0,readonly:=false)

end function

しかし、メッセージはまだ表示されています。 どうすれば表示しないようにできますか?

編集: このメッセージは、リンク切れのあるワークブックに対して表示されるようです。 This workbook contains one or more links that cannot be updated というメッセージは表示されませんでした。 DisplayAlerts を false に設定したためです。 ワークブックは、Windowsサーバー上のフォルダにある同等のファイルにリンクされているため、一致するファイルがそのフォルダから削除されると(ビジネスフローの一部として発生する)、リンクが切断されます。 リンクが切れたときの警告を出さないようにすることは可能でしょうか?

また、Excel2010を使用しています。

どのように解決するのですか?

少なくともこの仕事を処理できるようにする一時的な解決策を見つけました。 私は、"Update Links" ウィンドウが表示されるまで待機し、次に "Don't Update" ボタンをクリックする短い AutoIt スクリプトを書きました。 コードは次のとおりです。

while 1
if winexists("Microsoft Excel","This workbook contains links to other data sources.") Then
   controlclick("Microsoft Excel","This workbook contains links to other data sources.",2)
EndIf
WEnd

今のところ、これは機能しているようです。 しかし、私は、これをスタンドアロン アプリケーションにできるように、完全に VBA であるソリューションを見つけたいと思います。