컴퓨터 공부/엑셀 & VBA

[엑셀vba] .SaveAS 메서드

도 박사 2020. 9. 11. 12:49
반응형

엑셀vba에서 통합문서를 저장하는 방법에는 두 가지가 있다.

 

ThisWorkbook.Save - 현재 문서에 저장

ThisWorkbook.SaveAs  - 다른이름으로 저장

 

ThisWorkbook 자리에는 ActiveWorkbook, Workbooks("파일이름") 등

 

통합문서와 관련된 다양한 놈들이 들어 갈 수 있다.

 

.Save는 그대로 사용하면 되는 반면에

 

.SaveAs에는 설정 할 수 있는 파라미터가 12개나 존재한다.

 

살펴보자


1. .SaveAs 메소드 원형

 

SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)

 

 

파일명, 파일포맷(확장자), 패스워드, 쓰기 패스워드, 읽기전용 설정, 백업파일 생성, 액세스모드 설정 등등..

 

여러가지 많이 있지만 필수항목은 없고, 모두 선택사항이다.

 

하지만 파라미터를 넣지 않으면 .Save 메소드와 똑같이 동작한다.

 


 

2. .SaveAS 두번째 파라미터, FileFormat

 

FileFormat 자리에는 숫자나 vba에서 사전에 정의된 문자열을 사용 할 수 있다. (문자열의 명칭을 모름)

Sub Save_As_Test()
	ThisWorkbook.SaveAs "Test", xlCSV
End sub
Sub Save_As_Test()
	ThisWorkbook.SaveAs "Test", 6
End sub

 

위 코드는 현재 통합문서를 Test 이름의 csv 확장자로 저장하는 것이고, 저장 경로는 현재통합문서가 있는 곳이다.

 

xlCSV를 쓰거나, 6을 쓰거나 같은 CSV 파일로 저장된다.

 

Sub SAVE_AS()
    
    Application.DisplayAlerts = False
    
    Dim i As Integer
  
    For i = 0 To 100
        On Error Resume Next
        ThisWorkbook.SaveAs i, i
    Next i
  
End Sub

 

테스트 결과

 

각 숫자들이 어떤 확장자로 저장되는지 확인하기 위해 테스트를 해봤다.

 

1 = xls, 2 = slk, 3 = txt, .. 

 

파일 이름의 숫자 = 저장되는 확장자

 

0 ~ 100까지 돌려본 결과 저만큼 파일이 생성되었다.


 

3. 정리

이름

설명

xlAddIn

18

Microsoft Excel 97-2003 추가 기능

xlAddIn8

18

Microsoft Excel 97-2003 추가 기능

xlCSV

6

CSV

xlCSVMac

22

Macintosh CSV

xlCSVMSDOS

24

MSDOS CSV

xlCSVWindows

23

Windows CSV

xlCurrentPlatformText

-4158

현재 플랫폼 텍스트

xlDBF2

7

DBF2

xlDBF3

8

DBF3

xlDBF4

11

DBF4

xlDIF

9

DIF

xlExcel12

50

Excel12

xlExcel2

16

Excel2

xlExcel2FarEast

27

Excel2 FarEast

xlExcel3

29

Excel3

xlExcel4

33

Excel4

xlExcel4Workbook

35

Excel4 통합 문서

xlExcel5

39

Excel5

xlExcel7

39

Excel7

xlExcel8

56

Excel8

xlExcel9795

43

Excel9795

xlHtml

44

HTML 형식

xlIntlAddIn

26

국제 형식 추가 기능

xlIntlMacro

25

국제 형식 매크로

xlOpenDocumentSpreadsheet

60

OpenDocument 스프레드시트

xlOpenXMLAddIn

55

Open XML 추가 기능

xlOpenXMLTemplate

54

Open XML 서식 파일

xlOpenXMLTemplateMacroEnabled

53

Open XML 매크로 사용 서식 파일

xlOpenXMLWorkbook

51

Open XML 통합 문서

xlOpenXMLWorkbookMacroEnabled

52

Open XML 매크로 사용 통합 문서

xlSYLK

2

SYLK

xlTemplate

17

서식 파일

xlTemplate8

17

서식 파일 8

xlTextMac

19

Macintosh 텍스트

xlTextMSDOS

21

MSDOS 텍스트

xlTextPrinter

36

프린터 텍스트

xlTextWindows

20

Windows 텍스트

xlUnicodeText

42

유니코드 텍스트

xlWebArchive

45

보관

xlWJ2WD1

14

WJ2WD1

xlWJ3

40

WJ3

xlWJ3FJ3

41

WJ3FJ3

xlWK1

5

WK1

xlWK1ALL

31

WK1ALL

xlWK1FMT

30

WK1FMT

xlWK3

15

WK3

xlWK3FM3

32

WK3FM3

xlWK4

38

WK4

xlWKS

4

워크시트

xlWorkbookDefault

51

통합 문서 기본

xlWorkbookNormal

-4143

통합 문서 일반

xlWorks2FarEast

28

Works2 FarEast

xlWQ1

34

WQ1

xlXMLSpreadsheet

46

XML 스프레드시트

위 표에 나타난 이름이나 값을 쓰면 해당 확장자로 저장 할 수 있다.

 

끄읕


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형