2014-01-09 2 views
0

Когда я запускаю следующий цикл цикла, файлы, которые открывают приглашение для обновления ссылок, даже несмотря на то, что код говорит об их обновлении. Кто-нибудь знает, почему мне все еще предлагается обновить? У меня есть чувство, связанное с тем, что мой каталог является sharepoint.Excel VBA UpdateLinks с использованием Dir Loop

Sub OpenProjectFiles() 

Dim sFile As String 
Dim sPath As String 

sPath = Application.ActiveWorkbook.Path 
sPath = Replace(sPath, "/", "\") 
sPath = Replace(sPath, "http:", "") 

sFile = Dir(sPath & "\FY*.xls")  

Do While Len(sFile) > 0 
    On Error Resume Next 
    Workbooks.CheckOut FileName:=sPath & "\" & sFile 
    Workbooks.Open FileName:=sPath & "\" & sFile, UpdateLinks:=3 
    sFile = Dir 
Loop 

End Sub 
+0

Примечание: Если кто-то видит более эффективный способ делать то, что я пытаюсь сделать, мне тоже понравится этот вход. Учитывая, что я выхожу из диска sharepoint, это уже требует времени. – blasibr

ответ

0

Я действительно выяснил свой вопрос, поясненный ниже. Тем не менее Я хотел бы получить представление о том, есть ли лучший или быстрый способ циклического перехода и открытия этих файлов. В настоящее время требуется около 6 секунд, чтобы найти, проверить, открыть и обновить ссылки. Обновление ссылок не займет много времени, так как обычно это не так много информации для обновления. И так как эта процедура, как правило, открывает около 10-15 файлов, она почти занимает около 2 минут.

Ответ: я понял, что код действительно обновлял ссылки, но по какой-то причине подсказка все еще выскакивала. Поэтому я просто отключил приглашение с помощью:

Application.AskToUpdateLinks = False