1. 파일 열기
Sub OpenWorkbookExample()
Dim wb As Workbook
' 파일 경로 및 파일 이름 지정
Dim filePath As String
filePath = "D:\VBA Folder\Sample.xlsx"
' 엑셀 파일 열기
Set wb = Workbooks.Open(Filename:=filePath)
End Sub
2. 읽기 전용 모드로 열기
Sub OpenReadOnlyWorkbookExample()
Dim wb As Workbook
' 파일 경로 및 파일 이름 지정
Dim filePath As String
filePath = "D:\VBA Folder\Sample.xlsx"
' 엑셀 파일을 읽기 전용 모드로 열기
Set wb = Workbooks.Open(Filename:=filePath, ReadOnly:=True)
End Sub
3.파일 선택 대화 상자 띄우기
Sub OpenFileExample()
Dim filePath As Variant
' 파일 선택 대화 상자 표시
filePath = Application.GetOpenFilename()
' 사용자가 파일을 선택한 경우
If filePath <> False Then
' 선택한 파일의 경로 출력
MsgBox "Selected File: " & filePath
Else
' 파일 선택을 취소한 경우
MsgBox "No file selected."
End If
End Sub
파일을 선택한 경우
파일을 선택하지 않은 경우
4. 특정 형식의 파일만 열기
Sub OpenFileWithFilterExample()
Dim filePath As Variant
' 파일 필터 지정
Dim filter As String
filter = "Excel 파일 (*.xlsx), *.xlsx,텍스트 파일 (*.txt), *.txt ,모든 파일 (*.*), *.*"
' 파일 선택 대화 상자 표시
filePath = Application.GetOpenFilename(filter)
' 사용자가 파일을 선택한 경우
If filePath <> False Then
' 선택한 파일의 경로 출력
MsgBox "Selected File: " & filePath
Else
' 파일 선택을 취소한 경우
MsgBox "No file selected."
End If
End Sub
5.특정 형식의 파일만 열기(여러 개의 확장자)
Sub OpenFileWithFilterExample()
Dim filePath As Variant
Dim filter As String
' 파일 필터 지정
filter = "Worksheets (*.xlsx;*.xlsm;*.xlsb;*.xls), *.xlsx;*.xlsm;*.xlsb;*.xls," & _
"Text Files (*.prn;*.txt;*.csv), *.prn;*.txt;*.csv," & _
"모든 파일 (*.*), *.*"
' 파일 선택 대화 상자 표시
filePath = Application.GetOpenFilename(filter)
' 사용자가 파일을 선택한 경우
If filePath <> False Then
' 선택한 파일의 경로 출력
MsgBox "Selected File: " & filePath
Else
' 파일 선택을 취소한 경우
MsgBox "No file selected."
End If
End Sub
6.파일 필터의 초기 인덱스 지정
Sub OpenFileWithFilterExample()
Dim filePath As Variant
Dim filter As String
Dim filterIndex As Integer
' 파일 필터 지정
filter = "Worksheets (*.xlsx;*.xlsm;*.xlsb;*.xls), *.xlsx;*.xlsm;*.xlsb;*.xls," & _
"Text Files (*.prn;*.txt;*.csv), *.prn;*.txt;*.csv," & _
"모든 파일 (*.*), *.*"
' 파일 필터의 초기 인덱스 지정
filterIndex = 2 ' 두 번째 파일 필터인 "텍스트 파일"을 선택
' 파일 선택 대화 상자 표시
filePath = Application.GetOpenFilename(filter, filterIndex)
' 사용자가 파일을 선택한 경우
If filePath <> False Then
' 선택한 파일의 경로 출력
MsgBox "Selected File: " & filePath
Else
' 파일 선택을 취소한 경우
MsgBox "No file selected."
End If
End Sub
7. 파일 대화 상자의 제목 설정
Sub OpenFileWithTitleExample()
Dim filePath As Variant
Dim filter As String
Dim title As String
' 파일 필터 지정
filter = "Worksheets (*.xlsx;*.xlsm;*.xlsb;*.xls), *.xlsx;*.xlsm;*.xlsb;*.xls," & _
"Text Files (*.prn;*.txt;*.csv), *.prn;*.txt;*.csv," & _
"모든 파일 (*.*), *.*"
' 파일 대화 상자 제목 설정
title = "원하는 파일을 선택하세요"
' 파일 선택 대화 상자 표시
filePath = Application.GetOpenFilename(filter, , title)
' 사용자가 파일을 선택한 경우
If filePath <> False Then
' 선택한 파일의 경로 출력
MsgBox "Selected File: " & filePath
Else
' 파일 선택을 취소한 경우
MsgBox "No file selected."
End If
End Sub
8. 여러 개의 파일 선택
Sub OpenFileWithMultiSelectExample()
Dim filePaths As Variant
Dim filter As String
Dim Msg As String
Dim i As Long
' 파일 필터 지정
filter = "Worksheets (*.xlsx;*.xlsm;*.xlsb;*.xls), *.xlsx;*.xlsm;*.xlsb;*.xls," & _
"Text Files (*.prn;*.txt;*.csv), *.prn;*.txt;*.csv," & _
"모든 파일 (*.*), *.*"
' 파일 선택 대화 상자 표시 (다중 선택 활성화)
filePaths = Application.GetOpenFilename(filter, multiSelect:=True)
' 사용자가 파일을 선택한 경우
If IsArray(filePaths) Then
' 선택한 파일의 경로들을 출력
Msg = "Selected File: " & vbNewLine
For i = LBound(filePaths) To UBound(filePaths)
Msg = Msg & filePaths(i) & vbNewLine
Next i
MsgBox Msg
Else
' 파일 선택을 취소한 경우
MsgBox "No file selected."
End If
End Sub
9. 파일 선택하고 열기
Sub OpenAndDisplaySuccessExample()
Dim filePath As Variant
Dim wb As Workbook
' 파일 필터 지정
Dim filter As String
filter = "Excel 파일 (*.xlsx), *.xlsx," & _
"텍스트 파일 (*.txt), *.txt," & _
"모든 파일 (*.*), *.*"
' 파일 선택 대화 상자 표시
filePath = Application.GetOpenFilename(filter)
' 사용자가 파일을 선택한 경우
If filePath <> False Then
' 파일 열기
Set wb = Workbooks.Open(filePath)
' 성공적으로 열렸다는 메시지 표시
MsgBox "파일이 성공적으로 열렸습니다."
' 열린 워크북 닫기
wb.Close SaveChanges:=False
Else
' 파일 선택을 취소한 경우
MsgBox "파일이 선택되지 않았습니다."
End If
End Sub
10.파일이 존재하는지 확인
Function FileExists(filePath As String) As Boolean
FileExists = (Dir(filePath) <> "")
End Function
11 파일이 열려있는지 확인
Public Function IsFileOpen(ByVal filename As String) As Boolean
Dim wb As Workbook
On Error Resume Next
Set wb = Workbooks(filename)
On Error GoTo 0
IsFileOpen = (Not wb Is Nothing)
End Function
12. 파일 열기
Sub CheckFileOpen()
' 확인할 파일 이름을 가져옵니다.
Dim filename As String
filename = "MyFile.xlsx"
' 파일이 존재하는지 확인합니다.
If Not FileExists(filename) Then
MsgBox "The file does not exist."
Exit Sub
Else
End If
' 파일이 열려 있는지 확인합니다.
If IsFileOpen(filename) Then
MsgBox "The file is already open."
Exit Sub
Else
MsgBox "The file is not open."
End If
End Sub
'Workbook object' 카테고리의 다른 글
엑셀 문서 속성 수정하기 (0) | 2023.08.25 |
---|---|
통합문서 닫기 (0) | 2023.06.24 |
통합문서 저장하기 (0) | 2023.06.24 |
엑셀 통합문서 만들기 (0) | 2023.06.22 |