・ソ

PrintOut3 繝。繧ス繝・ラ

譁・嶌繧単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縲・

菴ソ逕ィ萓・/H4>


    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