강좌 / 팁

소프트웨어 엑셀 제목표시줄에 파일 전체 경로 표시

2023.04.02 18:05

지후빠 조회:2678 추천:29

아파서 어제 마무리를 못하였습니다.

어떤 이벤트를 이용할 것인가에서 고민되어 암호로 제한하여 테스트하였습니다.

아래 '1) 클래스 모듈' 부분을 수정하여 공개합니다. Full_Path_Title_0.6.zip

"새창" 등 몇 가지 경우를 고려하여 다음과 같이 마무리하려고 합니다.

Private Sub oXL_WorkbookOpen(ByVal Wb As Workbook) 'WorkbookActivate 에서 WorkbookOpen 이벤트로 변경

    If Not Wb.IsAddin Then Wb.Windows(1).Caption = Wb.FullName '추가기능 저장시를 고려하여 조건 부여

End Sub

Private Sub oXL_WorkbookAfterSave(ByVal Wb As Workbook, ByVal Success As Boolean)

    If Not Wb.IsAddin Then If Success Then Wb.Windows(1).Caption = Wb.FullName '추가기능 저장시를 고려하여 조건 부여

End Sub

아파서 당분간 가능할지 모르겠지만, 문제점 댓글 주시면 수정해보겠습니다.^^

 


안녕하세요?

질문 https://windowsforum.kr/qna/19199479 관련된 내용입니다.

개념이 서지 않았을때는 어렵게만 느껴졌던 것이라서 간단히 정리하여 봅니다.

 

 

1. 애플리케이션 수준 이벤트 개념

 

엑셀 VBA에서 흔히 볼 수 있는 이벤트 처리는 Worksheet, Workbook 레벨 입니다. Workbook 레벨은 해당 엑셀 파일에 한정되어 발생하는 이벤트를 처리할 수 있다는 것입니다. 다시 말해, 열려져 있는 다른 엑셀파일(창)에는 효과를 줄 수 없다는 것 입니다.

 

모든 엑셀 창에서 발생하는 이벤트에 어떤 동작을 부여해주고 싶으면 Workbook 보다 높은 Excel Application 레벨의 이벤트 처리를 하면 가능합니다. 그런데 Application 레벨의 이벤트는 바로 사용할 수 없어서 Class Module을 이용해야 합니다.

 

글을 새로 작성할려고 하였는데 검색해보니 MS 사이트에 잘 정리되어 있어서 링크 연결합니다.

참고; Excel에서 애플리케이션 수준 이벤트 처리기 만들기

- https://learn.microsoft.com/ko-kr/office/troubleshoot/excel/create-application-level-event-handler

 

영어 페이지 인데 엑셀 VBA 이벤트가 정리된 페이지입니다.

- https://powerspreadsheets.com/excel-vba-events/

 

 

2. 제목표시줄에 전체 경로 표시 예제로 간단한 설명

 

1) 클래스 모듈 삽입

- 클래스 모듈 이름이 클래스 이름이 되므로 필요시 이름을 변경합니다. 예) myClass

- 코드 입력;

Option Explicit

Public WithEvents oXL As Excel.Application '애플리케이션 레벨의 이벤트 개체 생성

Private Sub oXL_WorkbookActivate(ByVal Wb As Workbook) '워크북이 활성화될때 실행

    ActiveWindow.Caption = Wb.FullName '해당 워크북의 전체 경로를 활성창에 표시

End Sub

Private Sub oXL_WorkbookAfterSave(ByVal Wb As Workbook, ByVal Success As Boolean) '워크북이 저장될때 실행

    ActiveWindow.Caption = Wb.FullName '해당 워크북의 전체 경로를 활성창에 표시

End Sub

 

2) 현재_통합_문서 모듈의 코드

Dim myObj As New myClass 'myClass 개체를 myObj에 할당

Private Sub Workbook_Open() '이 문서가 열리는 이벤트때 실행

    Set myObj.oXL = Application 'myClass 모듈의 oXL 개체를 Excel과 연결시켜 이벤트를 활성화시킴.

End Sub

 

 

3. 추가기능 테스트 ; 위 내용을 추가기능으로 만든 것입니다.

 

답변으로 올린 개인용 매크로 통합문서에는 oXL_WorkbookAfterSave 빠져있어서 새문서 저장시 표시가 안되는 문제가 있습니다.(상큼한아침님이 주신 피드백과 같은 내용인지 잘 모르겠습니다. 상큼한아침님 테스트 부탁드립니다.) 또 on/off가 용이하지 않아서 추가기능으로 만들어봅니다.

 

우선 자유게시판에 추천과 피드백 주신 분들에게만 압축파일 암호를 전달하겠습니다. 추가적인 피드백 주시면 수정하겠습니다.

Full_Path_Title_0.2.zip

 

- 첨부파일에는 두개의 파일이 들어 있습니다. Full Path Title.xlam Full Path Title 설치.vbs 

- 엑셀이 종료된 상태에서 Full Path Title 설치.vbs 를 실행합니다.

1.jpg

- 설치 완료 후

2.jpg

- 엑셀 실행하여 추가기능 창에서 "전체 경로 표시" 추가기능을 확인 할 수 있고 필요시 on/off할 수 있습니다.

3.jpg

 

허리가 아파서 오래 앉아있지 못하여 짧게 올립니다.ㅜㅜ

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
» 소프트웨어| 엑셀 제목표시줄에 파일 전체 경로 표시 [28] 지후빠 2678 29 04-02
4319 소프트웨어| 단순한 팝업 메뉴형 런처 PopSel (실컴,PE) [18] 지후빠 2449 26 03-30
4318 기 타| IPv6 전용 네트워크에서 윈도우 포럼 접속하기 네트워크빌 2004 2 03-27
4317 소프트웨어| 구글 캘린더로 매년 X월의 Y번째 요일에 반복 설정하기 asklee 936 2 03-26
4316 소프트웨어| [펌]VirtualBox 로컬 드라이브 연결하기 [2] 타천사둘리 1299 9 03-23
4315 윈 도 우| PC 나 노트북 종료시 전원차단 안 될 때 조치방법 [6] 타천사둘리 2867 6 03-21
4314 윈 도 우| Wifi 패스워드 (종료!!!) [27] kernel 6063 19 03-12
4313 소프트웨어| 배치파일로 2GB 이상 계산과 batch hybrid [7] 지후빠 1399 13 03-05
4312 소프트웨어| 팁: VirtualBox 7의 Windows 10/11에서 NVMe 드라이버 활성... [3] VᴇɴᴜꜱGɪ 1188 9 03-05
4311 윈 도 우| 구글 검색 결과를 가장한 리다이렉션 광고 링크 제거하기 (... [11] 오호라7 4072 25 02-26
4310 하드웨어| USB 3.0 과 2.4GHz 간섭 문제 해결 - 동글을 연장선연결 [8] 메리아 2998 12 02-25
4309 윈 도 우| 윈도우 업데이트 다운로드 및 설치 오류 조치 [6] 미스라 3619 5 02-17
4308 소프트웨어| (ver 0.2.3, url 파일기능) 크롬/엣지에서 URL 드래그 드롭... [7] 메리아 2903 10 02-16
4307 모 바 일| 뉴진스 음악에서 보컬만 추출하기? 이거 하나면 끝!!! | mp... toz21 1887 0 02-14
4306 윈 도 우| IE 강제 실행 스크립트 + 탭 여러개 열기 [6] 녹색조각 2633 14 02-14
4305 기 타| 파이어 폭스 무설치 만들기 [17] 슈머슈마 1560 9 02-12
4304 윈 도 우| 향상된 윈도우 자동 로그인 On/Off 스크립트 [6] zerojiddu 2731 13 02-11
4303 소프트웨어| 현존 최강 무료 동영상 편집기 소개 및 활용법 안내 | 이게... [13] toz21 2671 7 02-11
4302 소프트웨어| Pecmd.ini 위치를 Windows폴더로 이동 [6] 카멜 750 10 02-10
4301 소프트웨어| (ver 0.2) 크롬/엣지에서 URL 드래그 드롭으로 제목 얻기 [11] 메리아 1042 12 02-08
XE1.11.6 Layout1.4.8