2015-04-28 25 views
1

我想問一些有關VBScript:使用VBScript和FreePDF軟件打印的html文件

是使用Firefox瀏覽器或Microsoft Internet Explorer中打開一個* .html文件,並使其打印使用方式一個不是默認/標準打印機的特殊打印機?

背景: 我想使用FreePDF軟件製作* .pdf文件。

數據源是一個本地* .html文件(沒有任何圖像)。

我可以使用VBScript/VB命令「createobject」創建一個VB「Application」對象嗎? 你知道...你用它來創建新的word或excel文件...

我想用下面的代碼:

https://srccode.wordpress.com/2011/01/28/vba-pdf-dokumente-mit-free-pdf-xp-erzeugen/

該網站顯示的方式發送文件到FreePDF軟件,這是一個pdf打印機,它是 。

在第一步中,您將創建一個postscript文件,然後將其發送到FreePDF 打印機。

例如:您可以創建一個新的* .PS了Excel中是這樣的:

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安裝在我們提供給客戶的每個系統上。

回答

0
OLECMDID_PRINT     = 6, 
OLECMDID_PRINTPREVIEW   = 7, 
OLECMDID_PAGESETUP    = 8, 

ExecWB方法


OLE對象上執行的命令,並返回使用IOleCommandTarget接口命令執行的狀態。

語法

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

參數

cmdID 龍,表示要執行的命令的標識符。有關命令標識符的更多信息,請參閱MSHTML命令標識符。

cmdexecopt

OLECMDEXECOPT值,指定的命令選項。

pvaIn

可選。用於指定命令輸入參數的變體。

pvaOut

可選。用於指定命令輸出參數的變量。

OLECMDEXECOPT枚舉指定命令執行選項。此枚舉中的一個值在IOleCommandTarget :: Exec的nCmdExecOpt參數中傳遞。

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

你好,我找到了另一種方式,因爲我不能選擇我喜歡的打印機(PDF打印機),當選擇你的方式。謝謝你的幫助,祝你週末愉快!托馬斯 – tommy1973germany