Excel в PDF для Sharepoint с использованием VBA ExportAsFixedFormat застревает при публикации - PullRequest
0 голосов
/ 12 июня 2019

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

У меня это работало неделю назад, но теперь, когда я пытаюсь запустить этот код, он застревает на шаге ExportAsFixedFormat. Я буду видеть, как лист становится полностью серым, затем белым, затем появится индикатор выполнения с надписью «Публикация» и будет бесконечно застревать на 95%. Ошибка не появляется, мне просто нужно принудительно завершить работу Excel.

Я проверил это до использования только следующего кода с тем же результатом:

ActiveWorkbook.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:="\\source.domain.com@SSL\Departments\Finance\Reports\Monthly\File%20Name.pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

Имя файла содержит пробелы. Я попытался с помощью https://source.domain.com/Departments/Finance/Reports/Monthly для пути. Это работает, если я экспортирую его вручную в Excel, перейдя в File> Export> Create PDF / XPS и затем запустив только этот код в автономном модуле. Однако, как только я применяю его к следующему коду, он снова начинает глючить.

Function SaveTotalSheet()
    Dim TWs As Worksheet

    Set TWs = ThisWorkbook.Sheets("Total Sheet")
    TheYear = Format(DateSerial(Year(Now), Month(Now) + 1, 1), "yyyy")
    DocDate = Format(DateSerial(Year(Now), Month(Now) + 1, 1), "yyyy mm dd")

    TWs.Copy

    Application.DisplayAlerts = False

     ActiveWorkbook.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:="\\source.domain.com@SSL\Departments\Finance\Reports\Monthly\File%Name.pdf", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False

    Application.DisplayAlerts = True
    ActiveWorkbook.Close False

    Call ClearContents

End Function

Этот код успешно работает, если я перенаправляю имя файла на свой локальный компьютер, и я могу нормально выполнять функцию SaveAs в виде xlsx для любого каталога.

На данный момент я в полной растерянности, не зная, что изменилось, поскольку это сработало меньше недели назад. Я пытался удалить различные части кода, так как проблема началась.

Надеюсь, у кого-то есть представление о том, чего мне не хватает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...