自動リンクの更新をしないでブックを開くには?

Question 50.1   Previous Next
社内LANを構築し、各製造課の生産実績を私の課にあるパソコンで集めています。エクセルで表を作成し、朝一番に自動実行マクロで前の日の生産実績を、プリントアウトしようとしています。

その時に、自動リンク先に関するダイアログが出てきてましたが、これを出さなくする方法は、FAQであったのですが、このダイアログを表示した上で、”いいえ”ボタンを選択するマクロはないでしょうか?

ダイアログを表示しないでマクロを実行すると、LANでつながっているパソコンに自動リンクしてしまい、そのリンク処理に30分(1つのBOOKに 1日~31日までのシートがあるため 31日のデータをLAN先のパソコンに取りに行くときも 1日~30日までもリンクしてしまいます) くらいかかってしまいます。
リンクするか、しないかのダイアログで”いいえ”を選択すればLAN先のパソコンにはリンクしないので処理はすぐ終わります。
Answer   Copyright (C) 2001.11.17 永井善王
「自動リンク先に関するダイアログ」とは、下図のことですね。
ダイアログ
このメッセージは、他のブックを参照する算式などを含んでいるブック (以後リンク元ブックと言う) を開こうとすると、表示されます。
ハンド操作で開くときには必ず表示されますが、マクロで開くときには制御可能です。
さっそく試してみましょう。 あらかじめテスト用のブックを 2つ準備してください。
最初に、新しいブックの Sheet1の A1セルに 2、A2セルに 3と入力し、ブック名を「リンク先」として、My Documentsフォルダーに保存しておきます。
続いて、新しいブックの Sheet1の任意のセルに次のとおりの数式を入力して、ブック名を「リンク元」にして、同じフォルダーに保存します。
              =[リンク先.xls]Sheet1!$A$1+[リンク先.xls]Sheet1!$A$2

2つのブックは一旦閉じておきます。
マクロを自動記録してみる     ※以下の操作はExcel2000の場合
  1. ブックを新規作成してから、[ツール]メニュー[マクロ]-[新しいマクロの記録]とクリック
  2. [ファイル]メニュー[開く]とクリック
  3. [ファイルを開く]ダイアログボックスが表示されたら、リンク元.xlsを開く
  4. 上図のような「自動リンク先に関するダイアログ」が表示されたら、[いいえ]ボタンをクリック
  5. リンク元.xlsが開いたら、[ツール]メニュー[マクロ]-[記録終了]とクリック

自動記録したマクロを見てみる
  1. [ツール]メニュー[マクロ]-[マクロ]とクリック
  2. [マクロ]ダイアログボックスが表示されたら[編集]ボタンをクリック
  3. VBE画面に下記のようなマクロが表示されるはずです。
Sub Macro1()

 Macro1 Macro
 マクロ記録日 : 2001/11/20  ユーザー名 : Yoshioh Nagai



    Workbooks.Open Filename:="C:\My Documents\リンク元.xls", UpdateLinks:=0
End Sub
このマクロの下から 2行目に注目してください。Openメソッドの引数 UpdateLinks にゼロを設定しています・・・。
テストを続けましょう。

  4. VBE画面で[ファイル]メニュー[終了して Microsoft Excel へ戻る]とクリック
  5. Excel画面へ戻ったら リンク元.xls を閉じる
こうすると、マクロを自動記録したブック(Book1.xls)だけが開いている状態になるはずです。

自動記録したマクロを試してみる
  1. [ツール]メニュー[マクロ]-[マクロ]とクリック
  2. [マクロ]ダイアログボックスが表示されたら[実行]ボタンをクリック
  3. リンク元.xls が開く
「自動リンク先に関するダイアログ」が表示されずに、ブックが開いたはずです。

Openメソッド

ブックを開くためのメソッドで、開き方を指定することが可能です。

構文
expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMRU)

引数 省略可否 内容
expression 対象となる Workbooksコレクションか、RecentFileオブジェクトを表すオブジェクト式を指定する
FileName 開くブックのファイル名を指定する(String型)
UpdateLinks ・ファイル内のリンクの更新方法を下表の値で指定する
・リンクが設定されているファイルを開くとき、この引数を省略するとリンク更新のダイアログボックスが表示される
内容
0 外部参照、リモート参照ともに更新されない
1 外部参照は更新され、リモート参照は更新されない
2 リモート参照は更新され、外部参照は更新されない
3 外部参照、リモート参照ともに更新される
ReadOnly ブックを読み取り専用モードで開きたければ、Trueを指定する
Format テキストファイルを開くときに、項目の区切り文字を指定する
Password パスワード保護されたブックを開くときにパスワードを指定する
WriteResPassword 書き込み保護されたブックに書き込みをするときに、パスワードを指定する
IgnoreReadOnlyRecommended 読み取り専用を推奨するメッセージを非表示にするときに、Trueを指定する
Origin どのような形式のテキストファイルかを指定する
Delimiter テキストファイルの区切り記号として使う文字を指定する
Editable Excel 4.0のアドインのときに Trueを指定する
Notify ファイルを読み取り/書き込みモードで開けないときに通知リストに追加するには、Trueを指定する
Converter 最初に使うファイルコンバータのインデックス番号を指定する
AddToMru 最近使用したファイルの一覧をこのブックに追加したければ、Trueを指定する
Openメソッドは、このように様々な開き方を指定することが可能です。

Excel VBA Macro