1

わかりました。C# アプリで Outlook Interop アセンブリを使用して .PST ファイルを問題なく識別できます。しかし、パスワードで保護されたファイルにアクセスするとすぐに、パスワードの入力を求められます。組織内での PST の使用を無効にするプロセスが進行中であり、手順の 1 つは、ユーザーの Outlook プロファイルから PST ファイルをアンロードすることです。このアプリをサイレント モードで実行し、ユーザーにプロンプ​​トを表示しないようにする必要があります。何か案は?UI なしで Outlook.Application オブジェクトを作成し、パスワードで保護されたファイルで例外をキャッチしようとする方法はありますか?

// create the app and namespace
Application olApp = new Application();                
NameSpace olMAPI = olApp.GetNamespace("MAPI");
// get the storeID of the default inbox
string rootStoreID = olMAPI.GetDefaultFolder(OlDefaultFolders.olFolderInbox).StoreID;
// loop thru each of the folders
foreach (MAPIFolder fo in olMAPI.Folders)
{
    // compare the first 75 chars of the storeid
    // to prevent removing the Inbox folder.
    string s1 = rootStoreID.Substring(1, 75);
    string s2 = fo.StoreID.Substring(1, 75);
    if (s1 != s2)
    {           
        // unload the folder
        olMAPI.RemoveStore(fo);
    }    
}
olApp.Quit();
4

1 に答える 1

0

はい、別のアプリから Outlook を自動化できます。NameSpace オブジェクトにはLogonメソッドがあり、プロファイルにログオンして、必要な操作を実行できます。しかし、自動化としてプロンプトが再びポップアップするだけだと思いますが、代わりにmapiを介して行うのと同様に、これを行うのに役立つ3番目のライブラリがあります。償還ライブラリのprofman.dllをチェックアウトします

于 2010-03-07T11:04:45.753 に答える