엑셀 파일이 열려있는지 판단하는 사용자정의함수입니다.
열려있는 파일을 다시 열려고 하면 에러가 나는데
이때 에러번호는 70 입니다.
에러번호가 70인지를 판단하여 결과를 내줍니다.
Option Explicit Function IsFileOpen(filename As String) As Boolean '파일 오픈 여부를 알려주는 사용자정의함수입니다. Dim errNum As Integer '읽기 전용으로 파일을 엽니다. '파일이 열려있거나 없을 때 파일을 열려고 하면 에러가 나므로 에러처리를 해줍니다. '열려있는 파일을 열려고 할 때의 에러번호는 70입니다 '때문에 에러번호가 70이면 파일이 열려있다고 판단합니다. On Error Resume Next Open filename For Input Lock Read As #FreeFile() Close FreeFile() errNum = Err On Error GoTo 0 IsFileOpen = IIf(errNum = 70, True, False) End Function Sub Macro() Dim PrintMsg As String With Range("A1") PrintMsg = IIf(IsFileOpen(ThisWorkbook.Path & "\" & .Value) = True, _ .Value & " 파일은 열려있습니다.", _ .Value & " 파일은 열려있지 않습니다.") End With MsgBox PrintMsg, vbInformation End Sub | cs |
'VB(A)' 카테고리의 다른 글
[정규식] 단어 들어 있는 문장찾기 (0) | 2019.06.03 |
---|---|
도형 이름을 활용하여 도형 클릭시 해당 셀로 이동하기 (0) | 2019.04.01 |
UTF-8 형식의 텍스트파일 불러오기 (0) | 2019.03.19 |
[정규식] 일정한 패턴의 숫자만 가져오기 (0) | 2019.03.18 |
공급업체별 제품명 출력하기 (2) | 2019.03.17 |