Есть ли какая-то причина, по которой сабвуфер VBA перестал работать только на моем ПК? - PullRequest
1 голос
/ 03 апреля 2019

У меня есть функция (убранная с веб-сайта Рона Дебруина), которая сохраняет активный или выбранный лист в формате PDF и отправляет его в виде вложения в Outlook.Он все еще работает для всех, кому я его дал, но в последнее время он не работает на моем ПК.Я продолжаю получать сообщение об ошибке, как будто VBA не может сохранить файл (из-за того, что путь неверен или имя уже используется и не хочет перезаписывать)

Запуск на различных компьютерах, работающих под управлением Windows 10 или7 (Я на Win10) Я попытался изменить путь к файлу сохранения и имя файла в коде на что-то более простое, и у меня все еще есть те же проблемы.Я попробовал файл на другом компьютере под управлением Windows 10 и не было никаких проблем.Я также попытался проверить надстройки Microsoft, и все в порядке.

'' '' '' '' '' '' '' '' '' '' '' '' '' '' '''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '

Sub RDB_Worksheet_Or_Worksheets_To_PDF_And_Create_Mail()
    Dim FileName As String

    If ActiveWindow.SelectedSheets.Count > 1 Then
        MsgBox "There is more than one sheet selected," & vbNewLine & _
               "be aware that every selected sheet will be published"
    End If

    'Call the function with the correct arguments
    'Tip: You can also use Sheets("YourSheetName") instead of ActiveSheet in the code(sheet does not have to be active then)

    FileName = RDB_Create_PDF(Source:=ActiveSheet, _
                              FixedFilePathName:="C:\Users\" & Environ("Username") & "\Documents\Container Shipment Reports\" & (Range("G4").Value) & ".pdf", _
                              OverwriteIfFileExist:=True, _
                              OpenPDFAfterPublish:=False)

    'For a fixed file name use this in the FixedFilePathName argument
    'FixedFilePathName:="C:\Users\Ron\Test\YourPdfFile.pdf"


    If FileName <> "" Then
        RDB_Mail_PDF_Outlook FileNamePDF:=FileName, _
                             StrTo:="XXXXXX.XXXXXXX@XXXXX.com.au", _
                             StrCC:="XXXXXX.XXXXXXX@XXXXX.com.au; XXXXXX.XXXXXXX@XXXXX.com.au", _
                             StrBCC:="", _
                             StrSubject:="Container Shipment Report " & (Range("G4").Value) & ".", _
                             Signature:=True, _
                             Send:=False, _
                             StrBody:="<body>Hello,</body><br>" & _
                                      "<body>Please see the attached Container Shipment Report# " & (Range("G4").Value) & " from " & (Range("E4").Value) & "." & _
                                      "<br><br>" & "Thank you.</body>"
    Else
        MsgBox "Not possible to create the PDF, possible reasons:" & vbNewLine & _
               "Microsoft Add-in is not installed" & vbNewLine & _
               "You Canceled the GetSaveAsFilename dialog" & vbNewLine & _
               "The path to Save the file in arg 2 is not correct" & vbNewLine & _
               "You didn't want to overwrite the existing PDF if it exists"

End If

Application.Quit

End Sub

'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' ''

Это должно конвертировать в PDF, прикрепить к электронному письму, отправить электронное письмо и затемзакрыть Excel.В данный момент я просто получаю ответ MsgBox из кода: «Невозможно создать PDF, возможные причины: и т. Д.».(есть также функция, позволяющая остановить сохранение файла Excel, так как он должен быть пустым шаблоном.) Как я уже сказал, это кажется проблемой только на моей машине, но, поскольку она работает на других компьютерах, я думаю, что нет никаких проблемс кодом.

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