Страницы: 1
RSS
Макрос отправки на Microsoft print to PDF
 
Всем доброго времени суток.

У меня есть код, который сохраняет открытую книгу в pdf-файл. В самом файле есть картинки с прозрачностью, и если экспортировать в pdf, то прозрачность в этих картинках теряется, что является критичным.
Если же отправлять в "Microsoft Print to PDF", то всё сохраняется как надо. Помогите, пожалуйста допилить вот этот код для отправки "Microsoft Print to PDF":
Код
Sub PDFActiveSheet()
 
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(), "ddmmyyyy\_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
 
'use can enter name and
' select folder for file
myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strPathFile, _
        FileFilter:="PDF-файлы (*.pdf), *.pdf", _
        Title:="Выбор папки и имени файла")
 
'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-файл создан: " _
      & vbCrLf _
      & myFile
End If
Если я не туда копаю - подскажите, пожалуйста :)
 
Цитата
Breathe of fate написал:
Если я не туда копаю
не туда, т.к. делаете экспорт, а надо смотреть в сторону PrintOut с указанием того самого принтера PDF.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Breathe of fate, делал это костыльным способом: поставить обычный макрос отправки на печать, а в настройках системы поставить принтером по умолчанию "Microsoft Print to PDF", предварительно настроив в нем необходимый режим печати.
Нет ничего сложнее поиска простого решения.
 
Дмитрий(The_Prist) Щербаков,
я думал об этом, но не допетрил как это можно вписать в существующий макрос :)

Jykermann,
об этом я тоже думал, но думал, что есть более элегантное решение :)
 
Цитата
Breathe of fate написал:
но не допетрил
и на чем остановилась мысль? Запись макроса печати с указанным принтером ничего не дала?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков,
вообще - да. В коде нет указания на этот принтер.
 
Доброе время суток
Цитата
Breathe of fate написал:
В коде нет указания на этот принтер.
Так вроде же написали
Цитата
Дмитрий(The_Prist) Щербаков написал:
PrintOut
Цитата
Jykermann написал:
"Microsoft Print to PDF"
Код
ActiveSheet.PrintOut ActivePrinter:="Microsoft Print to PDF"
 
Андрей VG,
спасибо за подсказку.
Сварганил.
Страницы: 1
Наверх