譁・嶌繧単DF繝輔ぃ繧、繝ォ縺ク繝励Μ繝ウ繝医☆繧九ょ・蜉帙→蜃コ蜉帙ヵ繧。繧、繝ォ蜈ア縺ォ繝。繝「繝ェ縺ォ譬シ邏阪・
Function PrintOut3(InStream As Variant, FileExtension As String) As Variant
InStream
(VT_ARRAY | VT_UI1)繝輔か繝シ繝槭ャ繝医・繝舌う繝磯・蛻励・蜈・蜉帙ヵ繧。繧、繝ォ
FileExtension
蜈・蜉帙ヵ繧。繧、繝ォ繧ソ繧、繝励r陦ィ縺吶ヵ繧。繧、繝ォ諡。蠑オ蟄舌ゆセ九∴縺ーInStream縺粂TML縺ョ蝣エ蜷医:ileExtension縺ッ".htm"縺ァ縺ェ縺代l縺ー縺ェ繧翫∪縺帙s縲・
謌サ繧雁、
(VT_ARRAY | VT_UI1)繝輔か繝シ繝槭ャ繝医・繝舌う繝磯・蛻励・PDF file
繝輔ぃ繧、繝ォ螟画鋤縺御ク頑焔縺上>縺九↑縺九▲縺溷エ蜷医√お繝ゥ繝シ縺瑚オキ縺薙j縺セ縺吶ゆク蠎ヲ繧ィ繝ゥ繝シ縺檎匱逕溘@縺溘i縲∬ゥウ邏ー諠・ア繧貞セ励k縺薙→縺悟・譚・縺セ縺吶・
Note:
繝ュ繝シ繧ォ繝ォ繝峨Λ繧、繝紋ク・萓九"C:\input.htm")縺ョHTML繝輔ぃ繧、繝ォ繧偵・繝ェ繝ウ繝医☆繧句エ蜷医∝、夜Κ繧ェ繝悶ず繧ァ繧ッ繝医∈縺ョ蜈ィ縺ヲ縺ョ繝ェ繝ウ繧ッ(逕サ蜒上d繧ケ繧ソ繧、繝ォ繧キ繝シ繝・縺ッ邨カ蟇セ繝代せ(縺セ縺溘・BASE繧ソ繧ー菴ソ逕ィ)縺ァ迚ケ螳壹&繧後↑縺上※縺ッ縺ェ繧翫∪縺帙s縲・
縺ァ縺ェ縺代l縺ー譁・嶌縺ッ豁」縺励¥繝励Μ繝ウ繝医&繧後∪縺帙s縲・
On Error GoTo Function_Err
Set oPrinter = CreateObject("easyPDF.Printer.5")
Set oPrintJob = oPrinter.PrintJob
' HTML繧偵Γ繝「繝ェ蜀・↓菴懈・縺励∪縺吶・
strHTM = "<html><body><center>Hello</center></body></html>"
' HTML繧ケ繝医Μ繝ウ繧ー繧但DO繧ケ繝医Μ繝シ繝繧ェ繝悶ず繧ァ繧ッ繝医r菴ソ逕ィ縺励◆繝舌う繝磯・蛻励∈螟画鋤縺励∪縺吶・
Set oADO = CreateObject("ADODB.Stream")
oADO.Charset = "Windows-1252"
oADO.Type = 2 ' 2: adTypeText
oADO.Open
oADO.WriteText strHTM
oADO.Position = 0
oADO.Type = 1 ' 1: adTypeBinary
arrHTM = oADO.Read
oADO.Close
' PDF縺ク螟画鋤縺励∪縺吶・
arrPDF = oPrintJob.PrintOut3(arrHTM, ".htm")
' ADO繧ケ繝医Μ繝シ繝繧ェ繝悶ず繧ァ繧ッ繝医r菴ソ逕ィ縺励◆繝・ぅ繧ケ繧ッ縺ク繝舌う繝翫Μ繝・・繧ソ繧担ave縺励∪縺吶・
oADO.Type = 1 ' 1: adTypeBinary
oADO.Open
oADO.Write arrPDF
Call oADO.SaveToFile("C:\output.pdf", 2) ' 2: adSaveCreateOverwrite
oADO.Close
MsgBox "Success!"
Function_End:
Exit Sub
Function_Err:
' 繧ィ繝ゥ繝シ繝。繝・そ繝シ繧ク繧竪et縺励∪縺吶・
MsgBox Err.Description
' 繧ィ繝ゥ繝シ逡ェ蜿キ繧堤「コ隱阪@縺セ縺吶・
If Err.Number = PRN_R_CONVERSION_FAILED Then
' 繧ィ繝ゥ繝シ繝。繝・そ繝シ繧ク縺ョ隧ウ邏ー
MsgBox "Conversion Result: " + oPrintJob.ConversionResultMessage
' 繧ィ繝ゥ繝シ繝。繝・そ繝シ繧ク縺後・繝ェ繝ウ繧ソ繝峨Λ繧、繝舌°繧画擂縺ヲ縺・k縺ョ縺九←縺・°遒コ隱阪@縺セ縺吶・
nResult = oPrintJob.ConversionResult
If nResult = PRN_CR_CONVERSION Or _
nResult = PRN_CR_CONVERSION_INIT Or _
nResult = PRN_CR_CONVERSION_PRINT Then
' 繝励Μ繝ウ繧ソ繝峨Λ繧、繝舌°繧峨・繧ィ繝ゥ繝シ繝。繝・そ繝シ繧ク
MsgBox "Printer Result: " + oPrintJob.PrinterResultMessage
' 譖エ縺ォ邨先棡繧呈紛謨ー繝輔か繝シ繝槭ャ繝医〒Get縺ァ縺阪∪縺吶・
nPrinterResult = oPrintJob.PrinterResult
End If
End If
Resume Function_End