프로그램 소스/VB.NET
[VB.NET] Excel파일 PDF전환 소스
프로젝트빈
2020. 11. 21. 03:15
반응형
일반적으로 엑셀에서 PDF프린터를 이용하여 Pdf파일로 저장하거나,
저장파일형식을 Pdf로 변경하여 저장하는 방법도있지만.
여러개의 엑셀파일을 하나씩 열어서 파일형식을 Pdf로 변경하고 저장. 또 Pdf형식으로 변경하고 저장.
이렇게 반복적으로 작업하기 귀찮으실때! 아~주 유용하게 사용하시라고 제작한 프로그램입니다^^
일반 사용자분들은 프로그램 실행파일(.exe)을 다운받아서 사용하시면 되고,
프로그램 공부하시는 분들은 소스를 참고하시면 좋을거 같아요^-^
- 나누면 행복해요. -
■ 전체소스 코드
Imports Microsoft.Office.Interop
Imports System.IO
Imports System.Runtime.InteropServices
Private Sub Form1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles X_Drop_VAN.DragEnter
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.Link
End If
End Sub
Private Sub Drop_VAN_DragDrop(sender As Object, e As DragEventArgs) Handles X_Drop_VAN.DragDrop
Dim files() As String = e.Data.GetData(DataFormats.FileDrop)
Dim 페이지 As String
If R_firstpage.Checked Then
페이지 = "firstPage"
Else
페이지 = "AllPage"
End If
For Each 파일명 In files
ExcelToPDF_Convert(파일명, 페이지)
Application.DoEvents()
Next
MsgBox("PDF변환을 완료하였습니다.")
End Sub
Private Sub ExcelToPDF_Convert(ByVal 경로 As String, ByVal 페이지 As String)
Try
Dim fileName As String
fileName = 경로
Dim xlsApp = New Excel.Application
Dim xlsBook As Excel.Workbook
Dim 내보내기_형식 As Excel.XlFixedFormatType = Excel.XlFixedFormatType.xlTypePDF
Dim 내보내기_퀄리티 As Excel.XlFixedFormatQuality = Excel.XlFixedFormatQuality.xlQualityStandard
Dim 내보내기_시작페이지, 내보내기_종료페이지 As Object
xlsApp.ScreenUpdating = False
If 페이지 = "firstPage" Then
내보내기_시작페이지 = 1
내보내기_종료페이지 = 1
Else
내보내기_시작페이지 = Type.Missing
내보내기_종료페이지 = Type.Missing
End If
경로 = 경로.Replace(".xlsx", "").Replace(".xls", "")
If File.Exists(경로) Then Kill(경로)
xlsBook = xlsApp.Workbooks.Open(fileName, UpdateLinks:=False, ReadOnly:=False)
xlsBook.Sheets(1).ExportAsFixedFormat(내보내기_형식, 경로, 내보내기_퀄리티, True, True, 내보내기_시작페이지, 내보내기_종료페이지, False)
xlsBook.Close(SaveChanges:=False)
xlsApp.Quit()
xlsApp = Nothing
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
■ 프로그램 실행파일
반응형