JavaScript 및 Windows Scripting Host를 사용하여 Outlook 항목을 처리하고 있습니다.vba/wsh에서 현재 활성화 된 Outlook 저장소를 확인하십시오.
사용자 중 한 명이 Outlook에 두 개의 Exchange 프로필이 구성되어있어서 스크립트가 작동하지 않는다고 말할 때까지는 간단했습니다.
스크립트가 작동해야하는 것은 두 번째 프로필이지만, 내가 액세스하면 예를 들어 Outlook 범주 마스터 목록은 표준 프로필에서로드됩니다.
대답은 쉽습니다. 올바른 주소는 Outlook store object입니다. 내 스크립트가 현재 활성화 된 Outlook Explorer에서 어떤 스토어에 액세스하고 있는지 확인해야하며이 기능을 찾을 수 없습니다.
outlook application objectvar ol = new ActiveXObject("Outlook.Application")
, 나는 기본적으로 단순히 ol.[ActiveExplorer()][4];
를 호출하지만 저장이 액세스되는 세션 객체가, 동등한 기능을 제공하지 않습니다에 의해 현재 활성화 전망 탐색기를 확인할 수 있습니다 감안할 때.
function ActiveStore(olApplication) {
var ActiveExplorerCaption=olApplication.ActiveExplorer().Caption;
for (var storeCounter=1; storeCounter<=olApplication.Session.Stores.Count; storeCounter++) {
var storeDisplayName=olApplication.Session.Stores.Item(storeCounter).DisplayName;
if (ActiveExplorerCaption.indexOf(storeDisplayName)!=-1) return olApplication.Session.Stores.Item(storeCounter);
}
return "undefined";
};
var ol = new ActiveXObject("Outlook.Application");
WScript.Echo("The Outlook store currently active in an explorer is called "+ActiveStore(ol).DisplayName);
:
것은 내가 저장 '그래서 display names
ol.Session.Stores.Item(counter).DisplayName // "[email protected]"
내가 작업 한 않는 코드를 통해 루프로 explorer's caption
ol.ActiveExplorer().Caption // "Inbox - [email protected] - Outlook"
를 비교하여, 해결 방법을 마련했습니다
하지만 궁금합니다.
현재 활성화 된 저장소를 결정하는 더 좋은 방법은 17,451,515,- 이 코드는 항상 작동합니다, 항상이 방식으로 설정이 변수가, 아니면 그냥 설치에 내가
- 작업 할 수 있습니다 즉, 거기 아닌가요?
JavaScript를 사용할 때 Visual Basic으로 태그를 붙인 이유는 분명히 vba (Script)의 솔루션에 열려 있습니다. 왜냐하면 Outlook에서 더 많이 사용되기 때문입니다. Outlook vba에서 작동하는 솔루션이 있다면 wsh jscript에 맞출 수 있습니다. – mheim