私はExcelファイルパスのリストをループするマクロを持っています。マクロは各パスを読み取り、ブックを開き、各ブックからさまざまなデータをコピー/プルし、中央のブックにデータをペーストします。ループする必要のあるファイルパスは約2000個あります。ご覧のとおり、これはかなり簡単なマクロです。それはうまく動作します。excelファイルを開くときにVBAがハングアップする
しかし、しばらくの間(おそらく最初の70かそこらのファイルパスを通ってループした後に)、excelは私の上で電話をかけ続けます(ファイルを開くときに表示される "Downloading"メッセージボックスを表示します)。 msgボックスのキャンセルをクリックすると、ブックが開き、マクロが正常に続行されます。しかし、これらの "Downloading"メッセージボックスが絶えずポップアップしているので、私はここに座り、より多くのファイルパスのためにマクロをベビーシットする必要があります。誰もがなぜここにこだわるのか知っていますか?その周りに道があるのですか?
さらに奇妙なことは、このHangingメッセージボックスがすべてのWorkbooks.Openインスタンスで発生しないということです。ここ
は、私が使用していたコードの例です。コメントのWith ThisWorkbook.Sheets("Filepaths")
For i = firstrow To lastrow
SourceFile = .Cells(i, 1).Value
Workbooks.Open SourceFile, ReadOnly:=True
Set MyFile = Workbooks(Workbooks.Count)
..more code..........
..more code..........
..more code..........
MyFile.close
Next i
End With
おかげで、これらは両方の良い点は、(と私は、私が過去に試してみましたが信じて両方のソリューションです)。しかし、単に確認するために、私はこれまで私のWorkbooks.Openライン変更しました:
Application.DisplayAlerts = False
Workbooks.Open SourceFile, ReadOnly:=True, UpdateLinks:=False
Application.DisplayAlerts = True
をしかし、問題はまだ奇妙なものを...
をポップアップされ、私はラインでラインを通してステップするときということです。.. 。 "Application.DisplayAlerts = False"の行を遡った後、 "Application.DisplayAlerts"変数にカーソルを合わせると、それでもtrueと表示されます。
(未テスト)このコードを試してみてください。 –
'Application.DisplayAlerts = False'できませんでしたか? – Tyeler
一部のブックで無効な外部リンクになっている可能性がありますか? –