2022年4月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« ペイントで色コードを調べるには・・・(XP) | トップページ | SkyDriveが便利になってる »

VB.NET ExcelファイルからPDF出力

VB.NETでExcelからPDF出力するときに、以前はBullzipを使用してPDF化していた。
(Excelを開いて、BullzipPrinterに印刷形でPDF化)(

Office2007以降からExcel自体にPDF出力機能が追加されたので簡単にPDF出力できるようになった。またPDF化する速度が速い。


[参考コード]
       
Private Function OpenExcelToPDF() As Boolean

    Dim rtn As Boolean = False
    Dim fn As String = "C:\temp\aaa.xls"
    Dim xlApp As Object
    xlApp = CreateObject("Excel.Application")
    xlApp.DisplayAlerts = False

    Try
        Dim xlBooks As Object = xlApp.Workbooks
        Dim xlBook As Object = xlBooks.Open(fn)
        Dim xlSheets As Object = xlBook.Sheets
        Dim newFn As String = "C:\temp\bbb.pdf"

        xlBook.ExportAsFixedFormat(Type:=0, _
                                   Filename:=newFn, _
                                   Quality:=0, _
                                   IncludeDocProperties:=True, _
                                   IgnorePrintAreas:=False, _
                                   OpenAfterPublish:=False)

        xlBook.Save()

        If Not xlSheets Is Nothing Then
            Try
            Finally
                System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets)
            End Try
        End If

        If Not xlBook Is Nothing Then
            Try
                xlBook.Close()
            Finally
                System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
            End Try
        End If

        If Not xlBooks Is Nothing Then
            Try
            Finally
                System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks)
            End Try
        End If

        rtn = True

    Catch ex As Exception
        errmsg = ex.Message
        Console.WriteLine("ERROR! ->" & errmsg)
    Finally
        If Not xlApp Is Nothing Then
            Try
                xlApp.Quit()
            Finally
                System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
            End Try
        End If
    End Try
   
    Return rtn

End Function

« ペイントで色コードを調べるには・・・(XP) | トップページ | SkyDriveが便利になってる »

VB.NET」カテゴリの記事

コメント

VBA,EXCEL操作が初で右往左往、迷走しておりましたが
求めていたものが出来ました。本当に感謝!。

目的が達成できそうで喜んでいます。
変換する際に「発行中...」のプログレスバーが表示されますが、これを非表示にする方法はありますでしょうか?
また、元エクセルファイルが保存しなおされているようで、タイムスタンプが更新されてしまいます。
この2点解決できれば満点です。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: VB.NET ExcelファイルからPDF出力:

« ペイントで色コードを調べるには・・・(XP) | トップページ | SkyDriveが便利になってる »