Workbook 개체 8

Workbook 개체

엑셀 VBA에서 Workbook 개체는 엑셀 파일(통합 문서) 을 의미합니다.Workbook 개체를 사용하면 파일 열기, 저장, 닫기, 시트 추가, 보호 설정 등 다양한 작업을 수행할 수 있습니다.​1. Workbook 개체 접근 방법✅ 현재 활성화된 통합 문서 (Workbook) 사용Dim wb As WorkbookSet wb = ActiveWorkbook ' 현재 활성화된 통합 문서 저장MsgBox wb.Name ' 파일 이름 표시✅ 특정 이름의 통합 문서 사용Set wb = Workbooks("파일이름.xlsx")✅ 새로운 통합 문서 생성Dim wb As Workbook Set wb = Workbooks.Add wb.SaveAs "C:\Users\Desktop\새파일.xlsx"✅ 특정 경로의 통합 ..

Workbook 개체 2025.03.14

File 읽기, 쓰기등 작업

엑셀 VBA에서는 파일을 생성, 열기, 읽기, 쓰기, 복사, 삭제, 이동 등의 작업을 수행할 수 있습니다.이를 위해 FileSystemObject(FSO), Open 문, Workbook 개체 등을 활용합니다.​1. 파일 존재 여부 확인 Sub 파일_존재여부() Dim filePath As String filePath = "C:\Users\Desktop\test.txt"​ If Dir(filePath) "" Then MsgBox "파일이 존재합니다!" Else MsgBox "파일이 없습니다." End IfEnd Sub📌 Dir(파일경로) 함수를 사용하여 파일이 존재하는지 확인.2. 파일 생성 및 쓰기Sub 파일_생성_쓰기() Dim filePath As String Dim fileNum As Inte..

Workbook 개체 2025.03.14

GetOpenFilename 메서드

엑셀 VBA에서 Application.GetOpenFilename 메서드는 사용자가 파일을 선택하도록 하는 대화상자를 표시합니다.즉, 파일을 열지 않고 파일 경로만 가져올 때 사용됩니다.1. 기본 문법Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])매개변수설명기본값FileFilter파일 형식 필터 (예: "Excel 파일 (*.xlsx), *.xlsx")모든 파일 (*.*)FilterIndex기본 선택할 필터의 인덱스 (1부터 시작)1Title대화상자의 제목"열기"ButtonTextMac에서만 사용 (Windows에서 무시됨)없음MultiSelect여러 개의 파일 선택 허용 (True..

Workbook 개체 2025.03.14

Dir 함수

엑셀 VBA에서 Dir 함수는 파일 또는 폴더의 존재 여부를 확인하거나, 특정 패턴의 파일을 검색하는 기능을 제공합니다.1. 기본 문법Dir[(pathname, [attributes])]매개변수설명기본값pathname검색할 파일 또는 폴더의 경로없음 (필수)attributes검색할 파일 속성 (vbNormal, vbDirectory 등)vbNormal (일반 파일만 검색)📌 Dir은 한 번 호출하면 첫 번째 파일을 반환하고, 이후 Dir()을 추가로 호출하면 다음 파일을 반환📌 마지막 파일까지 검색한 후 Dir()을 호출하면 빈 문자열 ("") 반환2. 특정 파일 존재 여부 확인Sub 파일존재_확인() Dim 파일경로 As String 파일경로 = "C:\Users\Public\test.xlsx"​ ..

Workbook 개체 2025.03.14

Save 및 SaveAs 메서드

엑셀 VBA에서 Save 및 SaveAs 메서드는 워크북을 저장하는 기능을 제공합니다.즉, 파일을 덮어쓰거나, 새로운 이름으로 저장할 때 사용됩니다.1. 기본 문법ThisWorkbook.SaveThisWorkbook.SaveAs Filename:="파일경로", FileFormat:=xlOpenXMLWorkbook메서드설명Save현재 파일을 덮어쓰기 저장SaveAs새로운 이름, 경로, 형식으로 저장📌 Save는 기존 파일에 덮어쓰기만 가능하며, 파일이 처음 생성된 경우 SaveAs를 사용해야 함📌 SaveAs는 파일 형식을 지정할 수 있으며, 기존 파일과 다른 이름으로 저장 가능2. 현재 워크북 저장 (Save)Sub 현재파일_저장() ThisWorkbook.SaveEnd Sub📌 현재 열려 있는 엑..

Workbook 개체 2025.03.14

스타일 삭제 (Style.Delete)

Style(스타일)을 삭제해야 하는 이유는 불필요한 스타일로 인해 발생하는 문제를 방지하기 위해서 입니다. 1. 스타일 개수가 많으면 엑셀 파일이 느려짐2. 스타일 개수가 많으면 저장 및 로딩 속도 저하3. 외부에서 복사한 데이터가 스타일을 자동으로 추가하는 경우4. 스타일이 많으면 Excel 오류 발생 가능 (Too Many Cell Formats 오류)5. 스타일이 많으면 엑셀과 충돌하여 강제 종료 되는 경우 발생​엑셀 VBA에서 스타일(Style)은 셀의 서식을 저장하고 적용하는 기능입니다.VBA를 사용하여 특정 스타일을 삭제하려면 Style.Delete 메서드를 사용하면 됩니다.1. Style.Delete 기본 문법ThisWorkbook.Styles("스타일이름").Delete매개변수설명"스타일이..

Workbook 개체 2025.03.14

오류가 발생된 이름 삭제 방법

🔹왜 정의된 이름을 삭제해야 할까? 1. 이름이 너무 많아 엑셀 파일이 느려짐 2. 삭제된 셀을 참조하는 이름에서 #REF! 오류 발생 3. 외부 데이터를 가져올 때 필요 없는 이름이 추가됨 4. 정의된 이름이 많아 수동 관리가 어려움​🔹 정의된 이름이 많거나, 외부 데이터를 가져오면서 오류가 발생한 경우, 이름을 정리하면 파일이 최적화됩니다.🔹 VBA를 사용하면 수동으로 찾을 필요 없이 한 번에 삭제할 수 있습니다.​✅ 1. 모든 오류가 난 이름 자동 삭제Sub 오류난_이름삭제() Dim 이름 As Name Dim 삭제된개수 As Integer 삭제된개수 = 0​ On Error Resume Next ' 오류 방지 For Each 이름 In ActiveWorkbook.Names If InStr(1..

Workbook 개체 2025.03.14

외부 데이터 연결 삭제 방법

왜 외부 데이터 연결을 삭제해야 할까? 1. 엑셀 파일 크기 증가 2. 파일 열 때 속도 저하 3. 외부 링크 포함된 수식 오류 4. 보안 위험 (SQL Injection 가능성)​엑셀에서 외부 데이터 연결(External Data Connections)을 삭제하면 파일 크기가 줄어들고 속도가 향상될 수 있습니다. 외부 연결을 제거하는 방법에는 쿼리 테이블, 피벗 캐시, 링크된 데이터 범위 등 여러 가지 요소가 포함됩니다.✅ 1. 모든 외부 연결 삭제Sub 외부연결삭제() Dim 연결 As WorkbookConnection Dim 삭제된개수 As Integer 삭제된개수 = 0​ On Error Resume Next For Each 연결 In ThisWorkbook.Connections 연결.Delete..

Workbook 개체 2025.03.13