본문 바로가기

엑셀

[엑셀VBA] Save, SaveAs 저장하기

반응형

안녕하십니까 춤추는초코칩입니다.

업무 중에 필요한 엑셀VBA를 기록하고 있습니다.

오늘은 엑셀을 저장하는 매크로를 만들어 보겠습니다. 이 기능을 활용하면, 특정 제목으로 저장하거나 특정 위치에 저장할 수 있습니다.

 

우선 가장 기본적인 저장부터 시작하겠습니다. 저장하기 매크로는 아래와 같습니다.

 

'예제1. 저장하기

Sub saveExcel()

    ActiveWorkbook.Save

End Sub

 

 다만, 코드가 포함되어 있어서, 명령문을 실행하면 아래와 같은 메시지 창이 팝업 됩니다. 가볍게 무시해주셔서도 상관없을 거 같습니다.

 해당 명령문을 실행하면 기본으로 설정되어 있는 폴더에 "통합문서.xlsx"가 저장됩니다.

 두번째는 "예제2. 원하는 파일명으로 저장하기"라는 제목으로 파일을 저장해 보겠습니다. 이때에는 Save가 아닌 SaveAs를 사용합니다.

'예제2. 원하는 파일명으로 저장하기

Sub saveAsName()

    ActiveWorkbook.SaveAs Filename:="예제2. 원하는 파일명으로 저장하기.xlsx"

End Sub

 해당 명령문을 실행하면 우리가 원하는 파일명으로 저장할 수 있습니다.

 세번째는 "바탕화면"에 파일을 저장해 보겠습니다. 파일명에 해당 경로를 추가하면 됩니다. 바탕화면 경로는 개인설정에 따라 차이가 있을 수 있으니 확인하시고 수정하시기 바랍니다.

'예제3. 원하는 경로에 저장하기

Sub saveAsPath()

    ActiveWorkbook.SaveAs Filename:="C:\Users\cysti\Desktop\예제2. 원하는 파일명으로 저장하기.xlsx"

End Sub

 해당 명령문을 실행하면 원하는 경로에 원하는 파일명으로 저장하실 수 있습니다.

 이외에 여러 옵션을 사용하실 수 있습니다. 자세한 내용은 아래 Microsoft 홈페이지를 참고하시기 바랍니다.

https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.saveas

  주로 사용하실만한 옵션으로는 아래 3가지 정도되지 않을까요? 

1) FileName: 경로를 포함해서 파일 이름을 나타내는 문자열

2) FileFormat: 파일을 저장할 때 사용할 파일 형식. 더 많은 포맷은 아래 홈페이지를 참고하시기 바랍니다.

https://docs.microsoft.com/en-us/office/vba/api/excel.xlfileformat

이름 파일 형식 확장자
xlWorkbookDefault Excel 통합 문서 *.xlsx
xlCSV CSV *.csv
xlExcel8 Excel 97 - 2003 통합문서 *.xls

3) Password: 파일에 암호를 나타내는 문자열(15자 이하)

반응형