Проблема с печатью VBA в pdf код ошибки в среде Windows 10 - PullRequest
0 голосов
/ 25 июня 2019

У меня есть код, который отлично работает в Windows 7 и других версиях Windows, но когда некоторые пользователи были обновлены до Windows 10 (включая меня)

Это лист с макросами, который хорошо работал в течение 3 лет, и, насколько я могу судить, единственное изменение - это «обновление» до Windows 10!

это бит кода, который, похоже, не работает:

'saveas function for pdf
ws.range("A1:K69").ExportAsFixedFormat Type:=xlTypePDf, _
filename:=path & fname, _
Quality:-xlqualityStandard, _
IncludeDocProperties:=True' _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True

Я получаю ошибку во время выполнения Метод 'ExportAsFixedFormat' объекта 'Range' не выполнен. Но когда кто-то в более ранней среде Windows запускает код, он работает отлично, и я получаю PDF, созданный, сохраненный и открытый для пользователя, чтобы вставить другие документы.

Сводит меня с ума, и я не могу понять, почему это не получится, а также спорадически.

1 Ответ

0 голосов
/ 25 июня 2019

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

Если вы установили область печати на листе длядиапазон, который вы хотите сначала просмотреть в PDF, он должен работать:)

Надеюсь, это поможет

Sub Export_Summary()

'
Dim wsA As Worksheet
Dim wbA As Workbook
Dim strTime As String
Dim strName As String
Dim strPath As String
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
On Error GoTo errHandler

Set wbA = ActiveWorkbook
Set wsA = ActiveSheet
strTime = Format(Now(), "yyyymmdd\_hhmm")

'get active workbook folder, if saved
strPath = wbA.Path
If strPath = "" Then
  strPath = Application.DefaultFilePath
End If
strPath = strPath & "\"

'replace spaces and periods in sheet name
strName = Replace(wsA.Name, " ", "")
strName = Replace(strName, ".", "_")

'create default name for savng file
strFile = strName & "_" & strTime & ".pdf"
strPathFile = strPath & strFile

'user can enter name and
' select folder for file
myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strPathFile, _
        FileFilter:="PDF Files (*.pdf), *.pdf", _
        Title:="Select Folder and FileName to save")

'export to PDF if a folder was selected
If myFile <> "False" Then
    wsA.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=myFile, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    'confirmation message with file info
    MsgBox "PDF file has been created: " _
      & vbCrLf _
      & myFile
End If

exitHandler:
    Exit Sub
errHandler:
    MsgBox "Could not create PDF file"
    Resume exitHandler
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...