VBA - Microsoft 打印到 PDF - 设置保存为路径与工作簿位置相同

问题描述 投票:0回答:1

所以我有一个 Excel VBA 宏,可以帮助我将工作簿保存为 PDF...它的名字是这样的...

Application.ActivePrinter = FindPrinter("Microsoft Print to PDF")

它将成功打开“另存为 PDF”提示,但我需要它默认保存在工作簿/Excel 工作表的路径中,并且它基于作业编号。

ileserver\drafting\MBS_JOBS\JobNumber

如何告诉 Microsoft Print to PDF 保存打开 Excel 工作表的位置?

excel vba pdf save-as
1个回答
0
投票

Sub GuardarComoPDF() 获取工作档案档案的规则 Dim rutaArchivo 作为字符串 rutaArchivo = ThisWorkbook.Path

' Verificar si se obtuvo una ruta válida
If rutaArchivo <> "" Then
    ' Configurar la impresora predeterminada como "Microsoft Print to PDF"
    Application.ActivePrinter = FindPrinter("Microsoft Print to PDF")
    
    ' Construir la ruta completa del archivo PDF
    Dim rutaPDF As String
    rutaPDF = rutaArchivo & "\" & "NombreArchivo.pdf"  ' Reemplaza "NombreArchivo" con el nombre que desees
    
    ' Imprimir el libro de trabajo como PDF en la ubicación especificada
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=rutaPDF, Quality:=xlQualityStandard
Else
    MsgBox "No se puede determinar la ruta del archivo del libro de trabajo.", vbExclamation
End If

结束子

函数 FindPrinter(PrinterName As String) As String ' Function para encontrar la impresora según el nombre especicado 将 obj 调暗为对象 对于打印机中的每个对象 如果 obj.Name = PrinterName 那么 FindPrinter = obj.设备名称 退出功能 万一 下一个对象 结束功能

© www.soinside.com 2019 - 2024. All rights reserved.