Printing 使用VBScript和FreePDF软件打印html文件

Printing 使用VBScript和FreePDF软件打印html文件,printing,vbscript,Printing,Vbscript,我想问一些关于VBScript的问题: 是否可以使用firefox浏览器或microsoft Internet Explorer打开*.html文件,并使用非默认/标准打印机的特殊打印机进行打印 背景: 我想使用FreePDF软件制作一个*.pdf文件 数据源是本地*.html文件(没有任何图像) 我可以使用VBScript/VB命令“createobject”来创建VB“应用程序”对象吗? 你知道的。。。您可以使用它来创建新的word或excel文件 我想使用以下代码: 该网站展示了一种将文

我想问一些关于VBScript的问题:

是否可以使用firefox浏览器或microsoft Internet Explorer打开*.html文件,并使用非默认/标准打印机的特殊打印机进行打印

背景: 我想使用FreePDF软件制作一个*.pdf文件

数据源是本地*.html文件(没有任何图像)

我可以使用VBScript/VB命令“createobject”来创建VB“应用程序”对象吗? 你知道的。。。您可以使用它来创建新的word或excel文件

我想使用以下代码:

该网站展示了一种将文件发送到FreePDF软件的方法,该软件是 pdf打印机

在第一步中,您创建一个postscript文件,然后将其发送到FreePDF 打印机

示例:您可以使用excel创建一个新的*.ps,如下所示:

Dim ws As Worksheet
Set ws = Application.ActiveSheet

Dim strDocument As String
strDocument = "C:\tmp\hello"    ' Name der Ausgabedatei ohne Extension

Dim strPostScript As String
strPostScript = strFile & ".ps"

ws.PrintOut , , , , "FreePDF XP", True, , strPostScript

Dim strFilePdf As String
strFilePdf = Replace(strFilePs, ".ps", ".pdf")

Dim oWsc As Object
Dim oExec As Object

Set oWsc = CreateObject("WScript.Shell")

Set oExec = oWsc.Exec(FREEPDFEXE & " /q /o " & strFilePdf & " " & strFilePs)

Do While oExec.Status = 0
    Sleep 200
Loop

Kill strFilePs

Debug.Print oExec.Status
我试图用firefox和iexplorer实现这一点,但没有成功

有人有新想法吗

可以使用此pdf打印机软件,因为我不能在客户系统上安装其他软件。 FreePDF安装在我们交付给客户的每个系统上

 OLECMDID_PRINT                  = 6, 
 OLECMDID_PRINTPREVIEW           = 7, 
 OLECMDID_PAGESETUP              = 8, 
执行WB方法


在OLE对象上执行命令,并使用IOleCommandTarget接口返回命令执行的状态

语法

object.ExecWB( _
    cmdID As OLECMDID, _
    cmdexecopt As OLECMDEXECOPT, _
    [pvaIn As Variant,] _
    [pvaOut As Variant])
参数

cmdID Long,表示要执行的命令的标识符。有关命令标识符的详细信息,请参见MSHTML命令标识符

cmdexecopt

指定命令选项的OLECMDEXECOPT值

pvaIn

可选。用于指定命令输入参数的变量

pvaOut

可选。用于指定命令输出参数的变量

OLECMDEXECOPT枚举指定命令执行选项。此枚举中的一个值在IOleCommandTarget::Exec的nCmdExecOpt参数中传递

typedef enum  
{ 
    OLECMDEXECOPT_DODEFAULT        = 0, 
    OLECMDEXECOPT_PROMPTUSER       = 1, 
    OLECMDEXECOPT_DONTPROMPTUSER    = 2, 
    OLECMDEXECOPT_SHOWHELP         = 3 
} OLECMDEXECOPT; 

您好,我找到了另一种方式,因为在选择您的方式时,我无法选择我最喜欢的打印机(PDF打印机)。谢谢你的帮助,祝你周末愉快!托马斯