マクロ制御下で開くと自動的に更新される(Microsoft Excel)
グラハムは、Excelの自動化の取り組みで発生した不具合について書いています。スケジュールされたマクロ(正常に実行される)は、更新するために別のブックを開くようです。彼は、ブック内の自動リンクを開く必要があるかどうかを尋ねる通知を表示せずに、マクロでブックを開くことはできませんでした。質問は、Grahamの応答を待っている間、マクロを停止しました。彼は、煩わしい通知なしに、リンクが自動的に更新される方法を探していました。
この問題に取り組むにはいくつかの方法があります。まず、質問をしないようにExcelを構成できます。このオプションは、システムで開かれているすべてのブックに影響します:
。 [Excelのオプション]ダイアログボックスを表示します。 (Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックします。Excel2010およびExcel 2013では、リボンの[ファイル]タブを表示し、[オプション]をクリックします。)
。ダイアログボックスの左側にある[詳細]をクリックし、[全般]セクションまで下にスクロールします。 (図1を参照)
。 [自動リンクの更新を依頼する]チェックボックスをオフにします。
。 [OK]をクリックします。
チェックボックスをオフにすると、Excelは要求を行わなくなり、すべてのリンクが自動的に更新されます。すべてのワークブックに影響を与えないアプローチが必要な場合は、次の手順に従うことができます。
。リンクを含むブックを開きます。
。リボンの[データ]タブを表示します。
。 [接続]グループの[リンクの編集]ツールをクリックします。 Excelに[リンクの編集]ダイアログボックスが表示されます。 (図2を参照)
。 [スタートアッププロンプト]ボタンをクリックします。 Excelは、[スタートアッププロンプト]ダイアログボックスを表示します。 (図3を参照)
。 3番目のオプションである[アラートと更新リンクを表示しない]を選択します。
。 [OK]をクリックして、[スタートアッププロンプト]ダイアログボックスを閉じます。
。 [閉じる]をクリックして、[リンクの編集]ダイアログボックスを閉じます。
。ブックを保存します。
これで、Excelが更新について尋ねることなくブックを開くことができます。もちろん、これはこのブックだけに影響し、開いた方法に関係なく影響します。つまり、ブックがマクロによって開かれる方法と、ユーザーによって開かれるタイミングに影響します。
おそらく最善のアプローチは、マクロに小さな変更を加えることです。これは、リンクを含むブックを開くものです。ブックを開くためのコードが次のようになる可能性があります:
Workbooks.Open FileName:="MyWorkbook.xls"
この場合は、行を次のように変更します。
Workbooks.Open FileName:="MyWorkbook.xls", UpdateLinks:=3
このUpdateLinksプロパティはオプションですが、これがないと、[リンクを更新しますか]ダイアログボックスが表示されます。表示されている設定でプロパティを含めると、Excelは、ブックを開いたときに、ブック内のリモート参照と外部参照の両方を更新します。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(8390)は、Microsoft Excel 2007、2010、および2013に適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link:/ excel-Updating_Automatically_When_Opening_Under_Macro_Control [マクロ制御で開くと自動的に更新する]
。