2017-08-09 8 views
0

Excelマクロを実行している状況があります。 私はこのダイアログボックスを取り除くことを試みた:私はそれは私がすべての取り消し底を打っする必要はないようにダイアログが定期的にポップアップしないだろうと固定しました、私はチャンスをうかがったのでhttps://drive.google.com/open?id=0BzzXkoIWuMAHOF9oV1o5dmFhcWcAskToUpdateLinks = FalseおよびUpdateLinks:= 0の相違点

一回。

以前は、コードの一部は、このでした:だから差がApplication.DisplayAlerts = Falseのものです

Application.DisplayAlerts = False 
Workbooks.Open Filename:=FullFileName, UpdateLinks:=0 

updatelinksを置く:

Application.AskToUpdateLinks = False 
Application.DisplayAlerts = False 
Workbooks.Open Filename:=FullFileName 

成功したコードは、このました:= 0ブックの最後にオブジェクトがありますか?

新編集(2017年8月10日):

私はもう一度、マクロを実行したとして、私は何とかエラーが発生しました!!!

私は

Application.Calculation = xlCalculationManual 
Application.AskToUpdateLinks = False 
Application.ScreenUpdating = False 
Workbooks.Open FileName:=FullFileName, UpdateLinks:=0 

とマクロスロー私エラー

実行時エラーを持っている '9':添字が範囲

のうち、私は理由を知りません。

私がUpdateLinks:=0を削除したとき、それは通り抜けましたが、ダイアログがポップアップするので、キャンセルをクリックするように強制しました。

私はどこが間違っているのか分かっていました。宛先ファイル名の変数が間違って配置されました。

答えて

3

Application.AskToUpdateLinksがFalseに設定されている場合、Excelはリンクを自動的に更新します(または更新を試みますが失敗し、エラーメッセージが表示されます)。

UpdateLinksパラメータが0の場合、リンクは更新されず、試行されません。質問は表示されません。 (BTW、リンクを更新したい場合は、このパラメータを3ではなく1に設定する必要があります)。

さらに、最初の例ではApplicationオブジェクトのプロパティを変更し、2番目のメソッドはMethodパラメータであるため、後に別のブックを開くと、最初のコードは影響を受けますが、2番目のコードは影響を受けません。

+0

「AskToUpdateLinks」は、更新するかどうかを尋ねるダイアログボックスです。私は 'FALSE'を選択しましたが、これは私が**ダイアログボックスをオフにしていることを意味しますが、マクロは何を問わずリンクを更新します。これを修正するには、自動的にダウンロードされないようにワークブックオブジェクトをシャットダウンする必要があります。ありがとう!!!今は本当に明白です。 –