Как обновить внешние ссылки Excel как готовые только в PowerPoint, используя VB.net - PullRequest
0 голосов
/ 31 января 2019

Я пишу приложение, которое будет установлено как запланированное задание для выполнения в течение ночи.Приложение используется для обновления файлов PowerPoint, которые имеют много внешних подключений к данным.Проблема заключается в том, что некоторые ссылки на данные взяты из открытых файлов Excel, которые используются на момент обновления, что вызывает знакомые диалоги «Только для чтения» и вызывает запуск кода, пока вы не нажмете «Отмена» или «Только чтение».

Я ищу способ надежного обновления внешних ссылок, который не выполняется, когда ссылка, которую он пытается обновить, готова только.

Я пытался использовать display alerts = false, но это несправка, потому что это отключает оповещения PowerPoint, когда диалоговое окно «только для чтения» появляется из вновь созданного экземпляра Excel при запуске .updatelinks.

    Dim pptPres As PowerPoint.Presentation
    Dim pptApp As PowerPoint.Application
    Dim file As String

    file = "G:\TEST.PPTX"

    pptApp = CreateObject("PowerPoint.Application")
    pptApp.Visible = True
    pptPres = pptApp.Presentations.Open(file)
    pptApp.DisplayAlerts = False
    pptPres.UpdateLinks()
    pptPres.Save()
    pptPres.Close()
    pptApp.Quit()
    pptApp = Nothing
    pptPres = Nothing
...