소프트웨어 엑셀 제목표시줄에 파일 전체 경로 표시
2023.04.02 18:05
아파서 어제 마무리를 못하였습니다.
어떤 이벤트를 이용할 것인가에서 고민되어 암호로 제한하여 테스트하였습니다.
아래 '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 를 실행합니다.
- 설치 완료 후
- 엑셀 실행하여 추가기능 창에서 "전체 경로 표시" 추가기능을 확인 할 수 있고 필요시 on/off할 수 있습니다.
허리가 아파서 오래 앉아있지 못하여 짧게 올립니다.ㅜㅜ
댓글 [28]
-
우인 2023.04.02 18:31
-
동그리 2023.04.02 19:02
아주 잘 됩니다 고생하셨읍니다~~
-
밤톨아빠 2023.04.02 19:03
수고하셨습니다.
-
봄이야! 2023.04.02 19:05
감사합니다.
-
상큼한아침 2023.04.02 19:20
네 감사합니다.
기능추가 잘 되었구요
빈 창과 불러들인 경로표기된창 두개 뜨던거
이젠 안 뜹니다. 감사합니다
윈도우 설치시에 무인설치시 추가하기 위해
메시지 창 안뜨게 했는데 봐 주시겠습니까?
On Error Resume Next
Dim wsh, fso, oXL, oAddin, srcPath, destPath, addinName, addinFile, msg
addinName = "전체 경로 표시"
addinFile = "Full Path Title.xlam"
Set wsh = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
srcPath = fso.GetFolder(".") & "\"
destPath = wsh.SpecialFolders ("AppData") & "\Microsoft\Addins\"
fso.CopyFile srcPath & addinFile, destPath, true
Set oXL = CreateObject("Excel.Application")
oXL.Visible = True
oXL.Workbooks.Add
Set oAddin = oXL.AddIns.Add(destPath & addinFile, True)
oAddin.Installed = True
oXL.Quit
Set oAddin = Nothing
Set oXL = Nothing
Set fso = Nothing
Set wsh = Nothing
vbs파일내용 나열해도 될는지요
파일내용 삭제해야 될까요
거듭 감사합니다.
-
지후빠 2023.04.02 19:39
지금 폰이라 이따 컴터에서 확인하겠습니다
피드백에 문제 없는 것이 확인되면 암호 공개할 것이라 괜찮습니다 ^^ -
지후빠 2023.04.02 20:35
다음처럼 줄일 수 있을 것 같습니다.
Dim wsh, fso, oXL, oAddin, srcPath, destPath, addinFile
addinFile = "Full Path Title.xlam"
Set wsh = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
srcPath = fso.GetFolder(".") & "\"
destPath = wsh.SpecialFolders ("AppData") & "\Microsoft\Addins\"
fso.CopyFile srcPath & addinFile, destPath, true
Set oXL = CreateObject("Excel.Application")
oXL.Visible = True
oXL.Workbooks.Add
Set oAddin = oXL.AddIns.Add(destPath & addinFile, True)
oAddin.Installed = True
oXL.Quit
-
맨션에살자 2023.04.02 20:02
에휴~~건강 조심하세요.
Win10 x64에서 어제는 이상없었는데 지금은 이런 에러가 나네요ㅠㅠ
파일을 더블클릭하나 엑셀을 실행하나 같은 현상입니다.
vbs파일은 어떻게 삭제할수 있나요?
-
지후빠 2023.04.02 20:09
폰이라서…
어제 XLSTART 폴더의 PERSONAL.xlsb 는 지우시고 테스트 부탁드립니다참고로 제한된 보기에서는 vba 매크로가 동작하지 않은 것 같습니다.
-
맨션에살자 2023.04.02 22:21
구글링해서 해결했습니다.
고맙습니다 지후빠님.
잘 사용하겠습니다.
건강관리 잘 하시기 바랍니다.
-
지후빠 2023.04.02 22:28
혹시 Full Path Title.xlam 속성에서 차단이 있으면 해제해보십시오.
제한된 보기로 나온다고 하시니...
-
cungice 2023.04.02 20:28
수고 많으셨습니다. 감사합니다.
-
상발이 2023.04.02 22:22
수고하셨습니다.
-
아무개님 2023.04.02 22:25
파워포인트나 워드가 안되는게 흠이네요.
-
지후빠 2023.04.02 22:32
넵 파워포인트나 워드 추가기능을 만들면 되겠지만...
레지스트리 수정등으로 쉽게 되면 좋을텐데 오피스 버전업되면서 왜 이런 기능이 사라지는지 모르겠네요.
비중이 크지 않다 생각하는지...
-
동백66 2023.04.02 23:38
엑셀이 종료된 상태에서 Full Path Title 설치.vbs 를 실행하여 '전체 경로 표시를 정상적으로 설치'
==> 엑셀 실행하여 추가기능 창에서 "전체 경로 표시" 체크 해제(off) ==> 엑셀 종료
==> 엑셀 다시 실행 시, "전체 경로 표시"에 체크가 해제된(off) 상태인데도, 전체 경로가 표시됩니다.XLSTART 폴더의 PERSONAL.xlsb 는 지우고 테스트:
추가기능 창에서 "전체 경로 표시" 체크(on) ==> 엑셀 종료
==> 엑셀 다시 실행 시, "전체 경로 표시"에 체크가 된(on) 상태인데도, 전체 경로가 표시되지 않고있습니다.OS는 Windows 10입니다.
-
최또 2023.04.03 04:44
수고하셨읍니다....
-
스파르탄_실드 2023.04.03 11:36
수고하셨습니다~!!
-
홍은동초짜 2023.04.03 13:28
수고많으셨습니다.
-
알수없는영역 2023.04.03 14:04
수고많으셨습니다
-
호롱불 2023.04.03 17:35
정말 유용합니다~좋은 자료 감사드리고 수고 많으셨습니다~^^
-
동백66 2023.04.03 21:11
수고 많이 하셨습니다~~
처음에 "XLSTART" 폴더에 넣었던 "PERSONAL.XLSB" 는 삭제하고, "Full_Path_Title_0.2"가 설치된 상태에서,
공개된 "Full_Path_Title_0.6"를 설치하니까 "전체 경로 표시" on/off가 제대로 잘 동작합니다.
"Full_Path_Title_0.2"가 설치된 상태에서, "Full_Path_Title_0.6"를 설치하면 "Full_Path_Title_0.2"는 삭제가 되고
"Full_Path_Title_0.6"이 설치가 되는 것인지요? 그리고 이것을 삭제할 수 있는 방법은 없는지요~~?
-
지후빠 2023.04.03 21:48
0.6으로 덮어씁니다.^^
지우는 것은 에브리씽에서 해당 파일 검색하여 addins 폴더에 있는 것을 지우시면 됩니다. -
동백66 2023.04.04 00:35
아~예~, 잘 알겠습니다, 고맙습니다~~
-
cong 2023.04.05 13:07
감사합니다. 잘됩니다.
-
馬井理 2023.04.08 10:43
수고하셨습니다
-
풀피리 2023.04.10 13:29
건강 조심하시고 빨리 낫기를 바랍니다.
편안한 한 주 되세요.
-
민시짱 2023.04.13 14:27
감사합니다~
예전에 이거 위치 찾느라 헤맷었는데 편하게 찾아갈수있겠네요.^^
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
4381 | 윈 도 우| VMware 윈도우10 RS4 Sysprep 통합윈도우 만들기 [33] | 아차카차 | 7827 | 30 | 06-01 |
4380 | 소프트웨어| VMware workstation 사용법(본문 수정-2) [76] | 고양이2 | 14927 | 30 | 11-14 |
4379 | 윈 도 우| 윈도우11&10 앱 제거 무인설치 [16] | 무월 | 1712 | 29 | 03-22 |
4378 | 소프트웨어| pureBasic 소스 - 실행 목록 및 화면 캡처 v0.2 [7] | 입니다 | 976 | 29 | 12-01 |
4377 | 윈 도 우| 윈도우 11 로컬 계정 암호 재설정 [15] | 무월 | 1779 | 29 | 09-18 |
4376 | 소프트웨어| wim boot 관련 배치 파일 몇 가지 팁 [19] | 지후빠 | 1460 | 29 | 08-03 |
» | 소프트웨어| 엑셀 제목표시줄에 파일 전체 경로 표시 [28] | 지후빠 | 2679 | 29 | 04-02 |
4374 | 소프트웨어| Snapshot간이현지화 [업데이트10] [41] | sunshine | 3652 | 29 | 09-26 |
4373 | 소프트웨어| GPT 파티션 삭제 및 재구성 / EASEUS Partition Master 16 [9] | 무월 | 1512 | 29 | 07-14 |
4372 | 소프트웨어| 간단한 크롬(Chrome) 팁 12개 정리 [15] | 컴알못러 | 6686 | 29 | 01-28 |
4371 | 윈 도 우| 외장 SSD/HDD 에 멀티부팅 윈투고를 만들어 봅시다. [17] | 디폴트 | 3985 | 29 | 10-20 |
4370 | 윈 도 우| PE 수정 스크립트 V3.21 [17] | 히이이잌 | 3021 | 29 | 09-27 |
4369 | 윈 도 우| 나만의 복원 솔루션 만들기 -2부- (UEFI) [18] | gooddew | 4447 | 29 | 06-16 |
4368 | 윈 도 우| [UEFI] 부팅 PE 파티션 설치하기 [19] | gooddew | 6344 | 29 | 12-28 |
4367 | 윈 도 우| PESE로 기존 PE에 기능 추가하기(내용추가) [16] | 히이이잌 | 2949 | 29 | 02-05 |
4366 | 윈 도 우| Win10 RS3 솔향PE USB 굽기와 UEFI 부팅하기 [33] | 솔향 | 7165 | 29 | 01-02 |
4365 | 소프트웨어| DISM GUI 플래쉬 동영상 강좌... (통합,수정,편집 등...) [88] |
|
17336 | 29 | 05-04 |
4364 | 기 타| 모든 영상을 순간으로 MP4 확장자로 변환. [18] | 모네곰 | 2428 | 28 | 12-30 |
4363 | 윈 도 우| [2탄] install.wim 누적 업데이트 + 드라이버 통합 하기 (D... [9] | 무월 | 1383 | 28 | 08-21 |
4362 | 기 타| [팁] 유튜브 광고 차단 [14] | 천경지위 | 7988 | 28 | 12-03 |
w11테스트결과 Class Module 완벽히 잘처리됩니다.
덕분에 잘배워갑니다. 감시힙니다.900~~^^*