통합문서 저장하기
Sub SaveWorkbookExample()
ThisWorkbook.Save ' 현재 통합문서 저장
MsgBox "통합문서가 저장되었습니다."
End Sub
다른 이름으로 저장하기
Sub SaveWorkbook()
Dim wb As Workbook
Dim savePath As String
' 파일 열기
Set wb = Workbooks.Open("D:\VBA Folder\NewFile.xlsx")
' 저장할 경로와 파일 이름 지정
savePath = "D:\Temp\MyFile.xlsx"
' 파일이 이미 존재하는지 확인
If FileExists(savePath) Then
' 파일이 이미 존재하는 경우 사용자에게 덮어쓸지 여부를 확인
Dim response As VbMsgBoxResult
response = MsgBox("파일이 이미 존재합니다. 덮어쓰시겠습니까?", vbQuestion + vbYesNo)
' 사용자의 응답에 따라 처리
If response = vbYes Then
' 워크북 저장
Application.DisplayAlerts = False ' 경고 메시지 표시 비활성화
wb.SaveAs savePath
Application.DisplayAlerts = True ' 경고 메시지 표시 활성화
Else
' 파일 닫기 후 종료
wb.Close SaveChanges:=False
Exit Sub
End If
Else
' 워크북 저장
wb.SaveAs savePath
End If
' 파일 닫기
wb.Close SaveChanges:=False
End Sub
Function FileExists(filePath As String) As Boolean
FileExists = (Dir(filePath) <> "")
End Function
파일 형식 지정해서 저장하기
Sub SaveWorkbook()
Dim wb As Workbook
Dim savePath As String
Dim response As VbMsgBoxResult
Dim fileFormat As XlFileFormat
' 파일 열기
Set wb = Workbooks.Open("D:\VBA Folder\NewFile.xlsx")
' 저장할 경로와 파일 이름 지정
savePath = "D:\Temp\MyFile.xlsx"
'파일 형식 지정
fileFormat = xlOpenXMLWorkbook
' 파일이 이미 존재하는지 확인
If FileExists(savePath) Then
' 파일이 이미 존재하는 경우 사용자에게 덮어쓸지 여부를 확인
response = MsgBox("파일이 이미 존재합니다. 덮어쓰시겠습니까?", vbQuestion + vbYesNo)
' 사용자의 응답에 따라 처리
If response = vbYes Then
' 워크북 저장
Application.DisplayAlerts = False ' 경고 메시지 표시 비활성화
wb.SaveAs savePath, fileFormat:=fileFormat
Application.DisplayAlerts = True ' 경고 메시지 표시 활성화
Else
' 파일 닫기 후 종료
wb.Close SaveChanges:=False
Exit Sub
End If
Else
' 워크북 저장
wb.SaveAs savePath, fileFormat:=fileFormat
End If
' 파일 닫기
wb.Close SaveChanges:=False
End Sub
Function FileExists(filePath As String) As Boolean
FileExists = (Dir(filePath) <> "")
End Function
XlFileFormat enumeration은 아래 링크를 참고하세요.
XlFileFormat enumeration (Excel)
Office VBA reference topic
learn.microsoft.com
아래 링크는 Workbook.SaveAs 메서드 도움말입니다.
https://learn.microsoft.com/en-us/office/vba/api/excel.workbook.saveas
Workbook.SaveAs method (Excel)
Office VBA reference topic
learn.microsoft.com
복사본 저장하기
Sub SaveWorkbookCopy()
ThisWorkbook.SaveCopyAs "D:\Temp\MyFile_Copy.xlsx"
End Sub
백업 파일 생성하기
Sub CreateBackup()
Dim originalFilePath As String
Dim backupFilePath As String
Dim currentDate As String
' 원본 파일 경로
originalFilePath = ThisWorkbook.Path & "\"
' 현재 날짜를 가져와서 "yyyy-mm-dd" 형식으로 포맷합니다.
currentDate = Format(Date, "yyyy-mm-dd")
' 백업 파일 경로 및 파일 이름을 설정합니다.
backupFilePath = originalFilePath & "Backup\" & currentDate & Space(1) & ThisWorkbook.Name
' 백업 파일을 생성합니다.
ThisWorkbook.Save
ThisWorkbook.SaveCopyAs backupFilePath
MsgBox "백업 파일이 생성되었습니다."
End Sub
'Workbook object' 카테고리의 다른 글
엑셀 문서 속성 수정하기 (0) | 2023.08.25 |
---|---|
통합문서 닫기 (0) | 2023.06.24 |
엑셀 파일 열기 (0) | 2023.06.23 |
엑셀 통합문서 만들기 (0) | 2023.06.22 |