Як запустити декілька екземплярів Microsoft Outlook 2010, кожен з яких має певний профіль?


4

У мене 2 профілі пошти - один профіль має єдиний обліковий запис Exchange 2010, інший - один обліковий запис IMAP. Я хочу відкрити примірник Outlook для кожного.

Я виконую outlook.exe /profile MyExchangeProfile для профілю Exchange та outlook.exe /profile MyIMAPProfile для профілю IMAP і результатом є те, що я отримую 2 екземпляри Outlook, кожен з яких має MyExchangeProfile.

Насправді, будь-який профіль, який я спочатку завантажую, завжди є той, який завантажується незалежно від того, який профіль я вказую на окремі виконання.


Не працював для мене з Outlook 2010 / Win7 Pro. Відкрити Outlook з останнім профілем, який ви передали в аргументі / профілю "myprofile". Перший раз, коли ви запускаєте extraoutlook, відкривайте його з профілем, який ви запитали, а другий раз, коли перший приклад профілю Перспективи автоматично змінюється на другий. Працював з попередньою версією офісу. Ще одна ідея?
Christophe Trevisani Chavey

Відповіді:


2

Чи варто працювати з Outlook 2010 і Windows 7? Я отримую помилку: "Функція не знайдена в таблиці імпорту." який мені на увазі DLL може відсутній, але файл .exe був єдиним файлом у завантаженні.
Matt

Дублікат відповіді тут - використовує той самий інструмент, але з більшою інформацією.
HaydnWVN

0

Я настійно рекомендую ні робити так. Запуск декількох екземплярів Outlook є непідтримуваним сценарієм, що призводить до пошкоджених профілів і сховищ (повірте, я бачив багато таких ситуацій).

Замість цього додайте обліковий запис IMAP як другий обліковий запис у свій профіль Exchange.


1
Привіт Thims, я спробував @ ta.speot.is 'пропозицію ExtraOutlook і використовували його успішно до цих пір. Він відмінно працює з двома профілями Exchange. Моя електронна пошта постійно резервується, тому я відчуваю себе в безпеці, якщо є проблема. Яка технічна причина для пошкоджених профілів і сховищ?
Matt

0

Extraoutlook працює відмінно, настільки великий, що я написав інтерфейс для командного рядка.

Код, складений в Autoit https://www.autoitscript.com/site/autoit/

Програма має чотири варіанти

  1. Виконати один профіль (запускається окремий профіль за раз)
  2. Додайте автоматичний запуск (додайте профіль, користувача та перейдіть до файлу ini)
  3. Запустіть автозапуск (відкриває декілька випадкових випадків)
  4. Запустити автозакривання (закриває всі екземпляри Outlook)

Код:

;************************************************************
#RequireAdmin

#include <MsgBoxConstants.au3>
#include <guiconstants.au3>
#include <string.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>

Global $Font = 'Verdana'
Global $Outlook = 'C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE' ;Office 2010
Global $ExtraOutlook = @SystemDir & "\Extraoutlook.exe"
Global $Process = "OUTLOOK.exe"
Global $IniFile = "outlookprofiles.ini"

Global $Radio[4]

FileInstall("Extraoutlook.exe",@SystemDir & "\Extraoutlook.exe",0)

    If Not FileExists (@ScriptDir & '\' & $IniFile) Then
        Iniwrite($IniFile, "START","Count","0")
        Iniwrite($IniFile, "PROFILE","1","")
        Iniwrite($IniFile, "USER","1","")
        Iniwrite($IniFile, "PASS","1","")
    Else
        _Start()
    EndIf
        _Start()


Func _Start()

$WinMain = GuiCreate('Outlook', 180,215 )

GUISetFont(7,300,'' ,$font)

    $Input1 = GUICtrlCreateInput('Profile',5,15,165,25)
    $Input2 = GUICtrlCreateInput('User',5,45,165,25)
    $Input3 = GUICtrlCreateInput('Password',5,75,165,25)

    $Radio[0] = GUICtrlCreateRadio("", 5, 105, 15, 15)
    $Radio[1] = GUICtrlCreateRadio("", 5, 125, 15, 15)
    $Radio[2] = GUICtrlCreateRadio("", 5, 145, 15, 15)
    $Radio[3] = GUICtrlCreateRadio("", 5, 165, 15, 15)

    $label = GUICtrlCreateLabel("Start Outlook Profile", 25, 105,150,25);
    $label = GUICtrlCreateLabel("Add to Autostart", 25, 125,150,25)
    $label = GUICtrlCreateLabel("Run Autostart", 25, 145,150,25)
    $label = GUICtrlCreateLabel("Run Autoclose", 25, 165,150,25)

    $ButtonOK = GuiCtrlCreateButton('OK', 5,190,80,20)
    $ButtonCancel = GuiCtrlCreateButton('Cancel', 90,190,80,20)

    GUICtrlSetState($Radio[0],$GUI_CHECKED)
    GuiCtrlSetState($Input2,$GUI_DISABLE)
    GuiCtrlSetState($Input3,$GUI_DISABLE)

GUISetState(@SW_SHOW)

    Local $Count = IniRead($Inifile,"START","Count","")
    Local $a = 1
    Local $msg = GUIGetMsg()

    While  $a = 1  ;Infinite Loop

        Switch GUIGetMsg()

            Case $ButtonOK

                    If _IsChecked($Radio[1]) Then
                        IniWrite ($IniFile,"PROFILE",$Count +1,GUICtrlRead($Input1))
                        IniWrite ($IniFile,"USER",$Count +1,GUICtrlRead($Input2))
                        IniWrite ($IniFile,"PASS",$Count +1,GUICtrlRead($Input3))
                        IniWrite ($IniFile,"START","Count",$Count +1)
                        MsgBox(64,"New Profile Added","Profile Name: "  & GUICtrlRead($Input1) & @CRLF & "User: " & GUICtrlRead($Input2) & @CRLF & "Password: " & GUICtrlRead($Input3),10)
                    Else
                        If _IsChecked($Radio[0]) Then
                            If GUICtrlRead($Input1) <> "Profile" Then
                                Run(@ComSpec & " /c " & $ExtraOutlook & " " & '"' &  $Outlook & '"' & " " & "/profile " & $Input1, "", @SW_HIDE)
                            Else
                                MsgBox(64,"","Please Enter a valid Profile name.",5)
                            EndIf
                        Else
                            If _IsChecked($Radio[2]) Then
                                _Autostart()
                            Else
                                If _IsChecked($Radio[3]) Then
                                    _Autoclose()
                                EndIf
                            EndIf
                        EndIf
                    EndIf


            Case $Radio[0]
                    GuiCtrlSetState($Input1,$GUI_ENABLE)
                    GuiCtrlSetState($Input2,$GUI_DISABLE)
                    GuiCtrlSetState($Input3,$GUI_DISABLE)

            Case $Radio[1]
                    GuiCtrlSetState($Input1,$GUI_ENABLE)
                    GuiCtrlSetState($Input2,$GUI_ENABLE)
                    GuiCtrlSetState($Input3,$GUI_ENABLE)

            Case $Radio[2]
                    GuiCtrlSetState($Input1,$GUI_DISABLE)
                    GuiCtrlSetState($Input2,$GUI_DISABLE)
                    GuiCtrlSetState($Input3,$GUI_DISABLE)

            Case $Radio[3]
                    GuiCtrlSetState($Input1,$GUI_DISABLE)
                    GuiCtrlSetState($Input2,$GUI_DISABLE)
                    GuiCtrlSetState($Input3,$GUI_DISABLE)

            Case $ButtonCancel ; Exit the loop.
               Exit
        EndSwitch
    WEnd

EndFunc


Func _IsChecked($idControlID)
    Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc


Func _Autostart()

Local $a = 1

While $a > 0

    If IniRead($Inifile,"PROFILE",$a,"") <> "" Then
        Run(@ComSpec & " /c " & $ExtraOutlook & " " & '"' &  $Outlook & '"' & " " & "/profile " & IniRead($Inifile,"PROFILE",$a,""), "", @SW_HIDE)
        Sleep (15000)
        ;Msgbox(0,"",IniRead($Inifile,"PROFILE",$a,""),3)
        Send("{DOWN}")
        Send("{DOWN}")
        Send(IniRead($Inifile,"USER",$a,""))
        Send("{TAB}")
        Send(IniRead($Inifile,"PASS",$a,""),1)
        Send("{TAB}")
        Send("{TAB}")
        Send("{ENTER}")
        Sleep (25000) ;

        $a = $a +1
    Else
        Exit
    EndIf

WEnd

EndFunc

Func _AutoClose()
    $a = 1

    Do
        If ProcessExists($Process) Then
            ProcessClose($Process)
        Else
            Exit
        EndIf

        Sleep(1000)

    $a = $a +1

    Until $a = 64

EndFunc

;************************************************************

Яку версію Outlook і Windows ви знову запустіть?
Pimp Juice IT

@ 2989 Будь-який шанс, що це буде працювати з версіями, відмінними від 2010?
Matt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.