기초부터 실전까지 VBA 엑셀 24 - 저장하기(SaveAs), 닫기(Close)

IT 관련 지식/VBA 공부|2019. 11. 20. 08:00
반응형
728x170

VBA 공부 24 - 저장하기(SaveAs), 닫기(Close)

 

이번에는 VBA를 이용하여 엑셀을 저장하는 방법에 대해 자세히 알아보겠습니다.

 

일반적인 저장 방법에도 저장하기 / 다른 이름으로 저장하기(SaveAs) 등 여러 가지 방법이 있듯 VBA에서도 이를 설정할 수 있습니다.

 

또한 VBA의 닫기(Close) 기능을 통해 엑셀을 저장한 후 닫는 것도 배워보겠습니다.

 

그럼 먼저 제일 기본적인 형태부터 공부해보겠습니다.


1.  VBA로 엑셀 닫기(Close)

 

아래와 같은 구문을 사용합니다.

 

Workbook.Close SaveChanges, Filename, RouteWorkbook

 

각각의 매소드의 설명은 다음과 같습니다.

(RouteWorkBook의 경우 거의 사용하지 않기 때문에 생략하겠습니다.)

SaveChanges 책에 변경이없는 경우이 인수는 무시됩니다. 책에 변경이있는 경우이 인수에서 변경 사항을 저장할지 여부를 지정합니다.
Filename 변경 후 통합 문서 파일 이름.

 

모든 인수를 생략할 경우

Workbook.Close
으로 만 지정하면 통합 문서에 변경이 없으면 그대로 닫히고
북에 변경이있는 경우, 저장 확인 메시지가 표시됩니다.
그러나
Application.DisplayAlerts = False
이 지정된 경우 확인 메시지가 표시되지 않고 저장됩니다.

300x250


SaveChanges

책에 변경이있는 경우에 저장할 것인지 여부를 지정합니다.


저장하지 않고 닫기

Workbook.Close SaveChanges : = False

 

저장 후 닫기

Workbook.Close SaveChanges : = True

 


2. VBA 엑셀 저장(SaveAs)

 

저장의 경우 2가지의 기본형이 있습니다.

 

첫 번째

 

Workbook.Save

 

이 기능의 경우 이미 저장되어서 경로가 정해진 엑셀에만 사용 가능합니다.

 

경로가 정해지지 않을 경우 지정하는 윈도우가 따로 뜨게 됩니다.

 

다음은 주로 사용하는 "다른 이름으로 저장" 기능입니다.

 

Workbook.SaveAs FileName, FileFormat, Password

 

각각의 인수는 쉼표(,)로 구분합니다.

 

사용법은 다음과 같습니다.

 

FileName

전체 경로를 지정하십시오.
경로를 지정하지 않으면 현재 폴더에 저장됩니다.

 

FileFormat

엑셀 파일의 양식을 지정

xlCSV = *.csv

xlExcel4 = *.xls

xlOpenXMLWorkbook = *.xlsx

xlOpenXMLWorkbookMacroEnabled = *.xlsm

 

다음은 사용 예시입니다.

 


3. VBA 닫기(Close), 저장(SaveAs)의 예시

 

먼저 닫기(Close)에 대한 예시입니다.

Sub close1()
  If Workbooks.Count > 1 Then
    ThisWorkbook.Close SaveChanges:=False
  Else
    ThisWorkbook.Save
    Application.Quit
  End If
End Sub

간단히 설명하자면

 

엑셀 파일이 2개 이상 실행 중일 경우 현재 엑셀 파일을 저장하지 않고 종료한다..

엑셀 파일이 1개일 경우 엑셀 파일을 저장하고 종료한다.

 

다음은 "SaveAs"에 대한 예시입니다.

 

ThisWorkbook.SaveAs "C:\Users\Desktop\Book2.xls", xlExcel4

위와 같이 지정할 경우 바탕화면에 Book2라는 이름의 .xls의 확장자를 가진 엑셀 파일을 저장합니다.

 


 오늘은 VBA를 이용하여 엑셀을 저장, 닫기를 하는 매크로를 배워봤습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()