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」カテゴリの記事
- VB.NET ExcelファイルからPDF出力(2012.05.19)
- VB.NET ファイル名結合(2012.02.24)
- Windows2008R2 + VB.NET + Excel(2011.05.13)
- SQLite + VB.NET Insertが遅い(2011.02.16)
- DataGridViewの新規行(2010.07.23)
VBA,EXCEL操作が初で右往左往、迷走しておりましたが
求めていたものが出来ました。本当に感謝!。
投稿: 白髪SE | 2012年11月20日 (火) 06時58分
目的が達成できそうで喜んでいます。
変換する際に「発行中...」のプログレスバーが表示されますが、これを非表示にする方法はありますでしょうか?
また、元エクセルファイルが保存しなおされているようで、タイムスタンプが更新されてしまいます。
この2点解決できれば満点です。
投稿: やま | 2022年4月26日 (火) 20時59分