프로그램 소스/VB.NET

[VB.NET] Excel파일 PDF전환 소스

프로젝트빈 2020. 11. 21. 03:15
반응형

 

일반적으로 엑셀에서 PDF프린터를 이용하여 Pdf파일로 저장하거나,

 

저장파일형식을 Pdf로 변경하여 저장하는 방법도있지만.

 

여러개의 엑셀파일을 하나씩 열어서 파일형식을 Pdf로 변경하고 저장. 또 Pdf형식으로 변경하고 저장.

 

이렇게 반복적으로 작업하기 귀찮으실때! 아~주 유용하게 사용하시라고 제작한 프로그램입니다^^

 

일반 사용자분들은 프로그램 실행파일(.exe)을 다운받아서 사용하시면 되고,

 

프로그램 공부하시는 분들은 소스를 참고하시면 좋을거 같아요^-^

 

- 나누면 행복해요. -

 


 

예시1)

 

 

 

■ 전체소스 코드

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

 

 

■ 프로그램 실행파일

BP_ExcelToPDF.exe
0.04MB

반응형