절대 경로를 XLA에 저장하는 Excel을 멈추는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/3308450

  •  26-09-2020
  •  | 
  •  

문제

I Excel 추가 기능으로 조직의 여러 사용자에게 배포 할 XLA 파일이 있습니다. 내 의도는 "응용 프로그램 Data \ MyCompany"의 사용자의 "문서 및 설정"폴더의 디렉토리에 배포하는 것입니다. (실제로 이것은 모두 XLA의 최신 버전을 로컬로 복사하여 Excel 추가 기능으로 설치하는 래퍼를 통해 작동합니다.

그러나 사용자 가이 xla에 정의 된 함수를 참조하는 시트를 작성하면 Excel은 함수 호출에서 XLA의 절대 경로를 저장하는 것처럼 보입니다. 따라서 사용자가 시트를 동료 Excel로 보내면 다른 절대 경로의 복사본이 다른 절대 경로에있는 것처럼 함수를 해결하지 못하면 (사용자 이름은 절대 경로의 일부분이므로)

지금까지는 XLA가 추가 기능으로 설치되었지만이 경우가 아닌 경우에 XLA가 설치되어 있지 않은 한 Excel이 "방금 대처"되었습니다.

모든 사용자에게 추가 추가 절대 경로를 적용 해야하는 경우는 실제로 있습니다. 이것은 단일 조직 내에서 가능하지만 솔직히 XLS 파일의 공유를 심각하게 맡기면서도 이것이 사실임을 믿을 수 없습니다.

감사합니다.

도움이 되었습니까?

해결책

이 작업을 수행하는 방법은 없습니다.나는 XLA 파일을 로컬로 네트워크 공유에 넣고 UNC 경로를 통해 설치하는 것입니다.모두가 당신을위한 사건이 아닐 수도있는 모든 사람들이 그 공유에 액세스 할 수 있기 때문에 저에게서 만 일합니다.다른 대안이 있습니다

Rel="noreferrer"> http : // www.DailyDoseOfExcel.com / Archives / 2008 / 06 / 02 / 고정 링크 - uDFS-in-addins /

다른 팁

이 Like your sub로 경로를 제거하기 만하면됩니다.

Sub RemoveXlaPath()
'
' Goal: delete the path reference to the add-in, i.e. everything before and including the '!'
' ='C:\Program Files (x86)\Microsoft Office\Office14\LIBRARY\populator.xlam'!famedata(...)
'
    Cells.Replace What:="'C:\*xla*'!", Replacement:="", _
                    LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
                    SearchFormat:=False, ReplaceFormat:=False
End Sub
.

환경 변수 기반 경로를 지정할 수 있습니까?예를 들어,%APPDATA%\MyCompany

내가 한 일은 사용자에게 XLS를 제공하는 경우, 오픈 이벤트에서는 열린 이벤트의 일부로 XLA를 설치하는 코드가 있습니다. 또한 (삭제 및 명령 막대)도 이전 버전을 제거합니다. 이 자체는 배포됩니다. 이론적으로 어떤 경로를 정리할 수 있습니다. 이는 모두가 액세스 할 수있는 공유 드라이브가 있으면 XLA를 로컬 드라이브로 복사하는 것을 방지합니다. 또는 공유 드라이브에서 XLA를 사용하여 XLA의 바로 가기를 이메일로 보내주십시오. 가능하면 로컬 드라이브에서 XLA를 원하지 않습니다.

XLA가 로컬 드라이브에 있어야하지만 이런 일이 작동하지만 열려있는 이벤트에서 XLS가 모든 경로를 수정하고 XLA를 설치 / 설치하는 경우 XLA를 확인할 수 있습니다. 그러나 인터넷을 통해 XLS를 이메일로 보내고있는 경우 XLS의 On Open 이벤트가 XLA가 사용 가능한지 확인하고 사용자에게 할 작업을 알려주는 메시지 상자를 입력 할 수 있습니다.이 XLA를 설치하면 별도의 첨부 파일이됩니다. XLA는 열린 이벤트의 일부로 경로를 정리할 수 있습니다. 단지 몇 가지 아이디어.

또 다른 가능성은 열린 이벤트의 XLA가 열린 이벤트에서 XLS를 수정할 수 있으므로 XLS가 분산되어 있으면 XLS가 XLA를 사용할 수 있는지 확인할 수 있습니다. 까다로운.

It's a poor oversight that makes add-ins barely manageable for shared use. Other than this, using .XLAM add-ins is a good way to avoid having to have macro-enabled spreadsheets (the shared spreadsheet can be distributed without macros and the macros can reside in an .XLAM)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top