グラハムは、Excelの自動化の取り組みで発生した不具合について書いています。スケジュールされたマクロ(正常に実行される)は、更新するために別のブックを開くようです。彼は、ブック内の自動リンクを開く必要があるかどうかを尋ねる通知を表示せずに、マクロでブックを開くことはできませんでした。質問は、Grahamの応答を待っている間、マクロを停止しました。彼は、面倒な通知なしに、リンクが自動的に更新される方法を探していました。

この問題に取り組むにはいくつかの方法があります。まず、質問をしないようにExcelを構成できます。このオプションは、システムで開かれているすべてのブックに影響します:

。 [ツール]メニューから[オプション]を選択します。 Excelに[オプション]ダイアログボックスが表示されます。

。 [編集]タブが選択されていることを確認してください。

。 [自動リンクの更新を依頼する]チェックボックスをオフにします。

。 [OK]をクリックします。

チェックボックスをオフにすると、Excelは要求を行わなくなり、すべてのリンクが自動的に更新されます。

Excel2002またはExcel2003を使用していて、すべてのブックに影響しないオプションが必要な場合は、次の手順を実行できます。

。リンクを含むブックを開きます。

。 [編集]メニューから[リンク]を選択します。 Excelは[リンク]ダイアログボックスを表示します。

。 [スタートアッププロンプト]ボタンをクリックします。 Excelは、[スタートアッププロンプト]ダイアログボックスを表示します。

。 3番目のオプションである[アラートと更新リンクを表示しない]を選択します。

。 [OK]をクリックして、[スタートアッププロンプト]ダイアログボックスを閉じます。

。 [閉じる]をクリックして、[リンク]ダイアログボックスを閉じます。

。ブックを保存します。

これで、Excelが更新について尋ねることなくブックを開くことができます。もちろん、これはこのブックだけに影響し、開いた方法に関係なく影響します。つまり、ブックがマクロによって開かれる方法と、ユーザーによって開かれるタイミングに影響します。

おそらく最善のアプローチは、マクロに小さな変更を加えることです。これは、リンクを含むブックを開くものです。ブックを開くためのコードが次のようになる可能性は十分にあります。

Workbooks.Open FileName:="MyWorkbook.xls"

この場合は、行を次のように変更します。

Workbooks.Open FileName:="MyWorkbook.xls", UpdateLinks:=3

このUpdateLinksプロパティはオプションですが、これがないと、[リンクを更新しますか]ダイアログボックスが表示されます。表示されている設定でプロパティを含めると、Excelは、ブックを開いたときに、ブック内のリモート参照と外部参照の両方を更新します。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2899)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excelribbon-Updating_Automatically_when_Opening_Under_Macro_Control [マクロ制御下で開くときに自動的に更新する]