파일 경로를 호출하지 않고 파일 열기
엑셀 VBA를 사용하고 있습니다."파일 창 선택"의 영향 없이 다른 파일을 직접 여는 버튼을 누르고 싶습니다.
현재 코드는 다음과 같습니다.
Sub loadFile_click()
Workbooks.Open("C:\Users\GIL\Desktop\ObsReportExcelWorkbook.xlsx")
End Sub
이 경우 파일은 기본 파일과 동일한 폴더에 있습니다.
파일 경로를 입력하지 않고 할 수 있는 방법이 있습니까?
파일 이름이 고정된 경우 활성 워크북을 사용할 수 있습니다.현재 워크북의 경로를 반환하는 경로 함수:
Dim FileName as string FileName = ActiveWorkbook.Path & "\myfile.xlsx
추가 슬래시 문자가 필요한지 확인합니다.
파일이 VBA 매크로가 포함된 문서와 동일한 폴더에 있는 경우,
ThisWorkbook.Path
예:
Workbooks.Open(ThisWorkbook.Path & "\ObsReportExcelWorkbook.xlsx")
(문서가 더 이상 활성 디렉토리가 아니거나 현재 디렉토리를 변경한 경우에도 작동합니다.)
동일한 폴더에 있는 경우
Workbooks.Open("ObsReportExcelWorkbook.xlsx")
또는
Workbooks.Open(".\ObsReportExcelWorkbook.xlsx")
작동해야 합니다.저는 엑셀 VBA에서 두 가지를 모두 시도했지만 성공했습니다.
문제집.열기("D:\data\")모히트 싱\msk\data\book1.xlsx")
활성 워크북 폴더 열기
Sub OpenFolderofProject()
Dim strMsg As String, strTitle As String
Dim sFolder As String
sFolder = ThisWorkbook.Path
strMsg = "Open WorkBook Folder Location? "
strTitle = "Folder Location:" & sFolder
If MsgBox(strMsg, vbQuestion + vbYesNo, strTitle) = vbNo Then
Else
Call Shell("explorer.exe " & sFolder, vbNormalFocus)
End If
End Sub
컨텍스트:일반적으로 프로젝트에 대한 수정사항이 지속적으로 변경되거나 동적 이름을 가진 자동으로 생성된 워크북이 있습니다.어떤 경우든.그러면 워크북 경로 위치를 알고 해당 폴더를 열 것인지 묻는 메시지가 나타납니다.
이것은 Excels를 프로그래밍 방식으로 워크북의 동일한 폴더에 동적으로 저장했을 때 매우 유용했습니다.탐색기로 이동하기 위해 워크북을 닫거나 최소화하는 대신,저는 그 프로젝트에 집중할 수 있었고 생각의 끈을 잃지 않을 수 있었습니다.
언급URL : https://stackoverflow.com/questions/5888011/open-file-without-calling-filepath
'programing' 카테고리의 다른 글
MongoDB 시작 실패 - ***fassert() 실패 후 중단 (0) | 2023.07.17 |
---|---|
보기를 사용한 쿼리에서 잠금 테이블 힌트와 함께 사용 - 보기 내에서 전파됩니까? (0) | 2023.07.17 |
UIViewContentModeScaleAspectFit과 UIViewContentModeScaleToFill의 차이점은 무엇입니까? (0) | 2023.07.17 |
프로그래머가 아닌 사람과 주피터 노트북을 공유하려면 어떻게 해야 합니까? (0) | 2023.07.17 |
SQL*Plus에서 Oracle create table 문을 가져오는 방법 (0) | 2023.07.17 |