这里我使用vs 2010并在系统中安装Adobe Reader 11.0。我试过像 -
这样的东西Private Sub OpenButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenButton.Click
Dim open1 As FileDialog
Dim inFileName As String
Dim outFileName As String
Dim i As Long
open1.Filter = "All Files (*.*)|*.*"
"""
"'"""
""
End Sub
答案 0 :(得分:0)
答案取决于你真正想要打印的内容; for Excel(旧版本)我经常打印到postscript打印机驱动程序;然后使用GhostScript命令行将PS转换为PDF。
您需要拥有GhostScript文件。这是代码:
Option Explicit
Dim PSPrinterSetupName As String
Dim svPsFileName As String
Dim svPDFName As String
Sub testRun()
'set up a printer using driver "HP C LaserJet 4500-PS" or something similar
'name it "PostScript Writer"
'set it to "print to file"
'set the name of the printer to use
PSPrinterSetupName = "PostScript Writer"
'set the postscript file name (must be 8.3 notation;
'no long names; no spaces; you can move and rename the file later)
svPsFileName = "C:\Temp\input1.ps"
'set the PDF name (must be 8.3 notation;
'no long names; no spaces; you can move and rename the file later)
svPDFName = "C:\Temp\Output1.PDF"
Call printToPS
Call ConvertToPDF
End Sub
Sub printToPS()
Dim PrinterInUse As String
PrinterInUse = Application.ActivePrinter
Worksheets("Sheet1").PrintOut ActivePrinter:=PSPrinterSetupName, PrintToFile:=True, PrToFileName:=svPsFileName
Application.ActivePrinter = PrinterInUse
End Sub
Sub ConvertToPDF()
Dim fso
Dim lcCmd As String
Set fso = CreateObject("Scripting.FileSystemObject")
lcCmd = "C:\Progra~1\GS\Misc\GhostS~1\GSWIN32C.EXE " & _
"-q -dNOPAUSE -IC:\Progra~1\GS\Misc\GhostS~1\lib;./fonts " & _
"-sFONTPATH=./fonts -sFONTMAP=C:\Progra~1\GS\Misc\GhostS~1\lib\FONTMAP.GS " & _
"-sDEVICE=pdfwrite -sOUTPUTFILE=" & svPDFName & " -dBATCH " & svPsFileName
Shell (lcCmd)
End Sub