Option Explicit
Sub Publish_To_Pdf()
'★★개별PDF저장★★
'PDF FILE 저장 POLDER 지정
Dim strPolderName As String
'확장자를 포함한 워크북명
Dim LATUS As String
'확장자를 제거한 워크북명
Dim strFileName As String
Dim iSplit As Integer
Dim sht As Worksheet
Dim vAry() As Integer
Dim ShtAry() As String
Dim i As Integer
Dim n As Integer
'PDF 출판 폴더를 지정
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
If .SelectedItems.Count = 0 Then Exit Sub
strPolderName = .SelectedItems(1)
End With
'지정 폴더를 열기
Shell "rundll32.exe url.dll,FileProtocolHandler " & strPolderName, vbNormalFocus
LATUS = ActiveWorkbook.Name
'확장자를 제거한 워크북명(filename)
strFileName = ""
iSplit = InStrRev(LATUS, ".")
If iSplit = 0 Then
strFileName = LATUS
Else
strFileName = Left(LATUS, iSplit - 1)
End If
i = 0
'선택된 시트를 배열에 저장
For Each sht In ActiveWindow.SelectedSheets
i = i + 1
ReDim Preserve vAry(1 To i)
ReDim Preserve ShtAry(1 To i)
vAry(i) = sht.Index
ShtAry(i) = sht.Name
Next
'선택된 시트를 순환하면서 PDF 출판
For n = LBound(ShtAry) To UBound(ShtAry) Step 1
Sheets(ShtAry(n)).Select
'PDF 출판
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPolderName & "\" & strFileName & " " & Format(vAry(n), "000") & " " & ShtAry(n) & ".pdf"
Next
End Sub
'매크로 > 모듈(Module)' 카테고리의 다른 글
| 바탕화면 경로 가져오기 (0) | 2024.06.02 |
|---|---|
| 선택시트를 지정 폴더에 시트 결합 PDF 출판 (0) | 2024.06.01 |
| 클립보드의 사진을 시트에 붙이기 (1) | 2023.06.10 |
| TreeView Control(Ⅲ) (0) | 2022.10.23 |
| Import the file to the sheet (0) | 2022.10.23 |