VBA 파일 저장하기 – 20가지 쉬운 예제
In this Article
이 VBA 튜토리얼에서는 VBA에서 저장 및 다른 이름으로 저장하기 명령을 사용하여 파일을 저장하는 방법을 다룹니다.
통합문서 저장하기 – VBA
VBA 저장 명령은 저장 아이콘을 클릭하거나 저장하기 단축키(Ctrl + S)를 사용하는 것과 유사하게 Excel 파일을 저장합니다. t
특정 통합 문서 지정하여 저장
통합 문서를 저장하려면 통합 문서 개체를 참조하고 저장 명령을 사용합니다.
Workbooks("savefile.xlsm").Save
활성 통합문서 저장하기
참고: 활성 통합 문서는 실행 중인 코드가 포함된 ThisWorkbook이 아닌 VBA 코드에서 현재 활성화된 통합 문서입니다.
ActiveWorkbook.Save
간편한 VBA 코딩
온라인에서 VBA 코드를 더 이상 검색하지 않아도 됩니다. 초보자도 최소한의 코딩 지식으로 프로시저를 처음부터 코딩할 수 있고 시간 절약이 가능하고 모든 사용자를 위한 VBA 코드 작성기인 AutoMacro에 대해 자세히 알아보세요!
코드가 저장된 통합 문서 저장하기
ThisWorkbook.save
열려 있는 모든 통합 문서 저장하기
열려 있는 모든 통합 문서를 번갈아가면서 각 통합 문서를 저장합니다.
Dim wb as workbook
For Each wb In Application.Workbooks
wb.Save
Next wb
읽기 전용 상태가 아닌 열려 있는 모든 통합 문서 저장하기
참고: 통합 문서를 읽기 전용 모드로 열면 파일이 저장되지 않습니다.
그 파일을 저장하려면 다른 이름으로 저장을 사용하여 다른 이름으로 파일을 저장해야 합니다.
Dim wb as workbook
For Each wb In Application.Workbooks
If not wb.ReadOnly then
wb.Save
End if
Next wb
변수로 정의된 통합 문서 저장하기
아래 코드로 통합 문서 개체 변수로 지정된 통합 문서를 저장할 수 있습니다.
Dim wb as workbook
set wb = workbooks("savefile.xlsm")
wb.save
문자열 변수로 정의된 통합 문서 저장
아래 코드는 통합 문서 이름이 문자열 변수로 정의된 통합 문서를 저장합니다.
Dim wbstring as string
wbstring = "savefile.xlsm"
workbooks(wbstring).save
통합 문서를 연 순서에 따라 정의된 통합 문서를 저장합니다.
참고: 첫 번째 통합 문서를 열면 1, 두 번째 통합 문서를 열면 2…가 됩니다.
workbooks(1).save
셀 값을 기준으로 통합 문서 저장하기
이 함수는 셀 값이 이름으로 정의된 경우 통합 문서를 저장합니다.
Dim wbstring as string
wbstring = activeworkbook.sheets("sheet1").range("wb_save").value
workbooks(wbstring).save
다른이름으로 저장하기 – VBA
VBA 다른 이름으로 저장 명령은 다른 이름으로 저장 아이콘을 클릭하거나 다른 이름으로 저장하기 단축키(Alt > F > A)를 사용하는 것과 유사하게 Excel 파일을 새로운 파일로 저장합니다.
위에서 저장할 통합 문서를 지정하는 모든 방법을 확인했습니다. 다른 이름으로 저장을 사용할 때도 동일한 방법을 사용하여 통합 문서를 식별할 수 있습니다.
VBA SaveAs는 새로운 파일의 이름을 지정해야 한다는 점을 제외하면 저장과 유사하게 작동합니다.
실제로 VBA SaveAs에는 정의할 수 있는 잠재적 변수가 많이 있습니다:
SaveAs 구문:
workbook object .SaveAs(FileName, FileFormat, Password, WriteResPassword, _
ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _
AddToMru,TextCodepage, TextVisualLayout, Local)
모든 SaveAs 인수에 대한 전체 설명은 아래에 포함되어 있습니다. 여기서는 가장 일반적인 예제를 중심으로 설명하겠습니다.
참고: 이러한 인수는 괄호 안에 문자열로 입력하거나 정의된 변수로 입력할 수 있습니다.
SaveAs 구문 예제:
통합 문서 다른 이름으로 저장하기 – 동일한 폴더 위치
ActiveWorkbook.SaveAs Filename:= "new"
또는
ActiveWorkbook.SaveAs "new"
또는
Dim wbstring as string
wbstring = "new"
ActiveWorkbook.SaveAs Filename:= wbstring
통합 문서 다른 이름으로 저장하기 – 새로운 폴더 위치
ActiveWorkbook.SaveAs Filename:= "C:\new"
또는
Dim wbstring as string
wbstring = "C:\new"
ActiveWorkbook.SaveAs Filename:= wbstring=
통합 문서 다른 이름으로 저장하기 – 새로운 폴더 위치, 파일 확장자 지정
ActiveWorkbook.SaveAs Filename:= "C:\new.xlsx"
또는
Dim wbstring as string
wbstring = "C:\new.xlsx"
ActiveWorkbook.SaveAs Filename:= wbstring
통합 문서 다른 이름으로 저장하기 대체 방법 – 새로운 폴더 위치, 파일 확장자 지정
자체 인수로 파일 형식을 지정할 수도 있습니다.
.xlsx = 51 '(Mac의 경우 52)
.xlsm = 52 '(Mac의 경우 53)
.xlsb = 50 '(Mac의 경우 51)
.xls = 56 '(Mac의 경우 57)
ActiveWorkbook.SaveAs Filename:= "C:\new", FileFormat:= 51
통합 문서 다른 이름으로 저장하기 – 파일 열 때 암호 입력 기능 추가하기
ActiveWorkbook.SaveAs Filename:= "C:\new.xlsx", Password:= "password"
통합 문서 다른 이름으로 저장하기 – 쓰기 권한에 대한 암호 추가
사용자가 올바른 암호를 입력하지 않으면 통합 문서가 읽기 전용으로 열립니다.
ActiveWorkbook.SaveAs Filename:= "C:\new.xlsx", WriteRes:= "password"
통합 문서 다른 이름으로 저장하기 – 읽기 전용 권장
TRUE를 선택하면 파일을 읽기 전용으로 열 것을 권장하는 메시지 상자가 표시됩니다.
ActiveWorkbook.SaveAs Filename:= "C:\new.xlsx", ReadOnlyRecommended:= TRUE
기타 SaveAs 예제
다른 이름으로 저장하기 대화 상자 만들기
다른 이름으로 저장하기 대화 상자를 생성하여 사용자에게 파일을 저장할지 묻는 메시지를 표시합니다.
이 간단한 코드가 모든 경우에 적합하지 않을 수도 있다는 점에 유의하세요.
Application.GetSaveAsFilename
기본 파일 이름이 제공된 다른 이름으로 저장 대화 상자 만들기
Application.GetSaveAsFilename InitialFilename:="test.xlsx"
새 통합 문서 만들기 및 저장
아래 코드를 실행하면 새 통합 문서가 만들어지고 즉시 저장됩니다.
Dim wb As Workbook
Set wb = Workbooks.Add
Application.DisplayAlerts = False
wb.SaveAs Filename:=”c:\Test1.xlsx”
Application.DisplayAlerts = True
저장 알림 비활성화하기
VBA에서 저장 작업을 수행할 때 다양한 저장 경고 또는 프롬프트가 표시될 수 있습니다. 경고를 비활성화하려면 다음 코드를 추가해야합니다:
Application.DisplayAlerts=False
다시 활성화 하려면 아래 코드를 추가해야 합니다:
Application.DisplayAlerts=True