Anzeige
Archiv - Navigation
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Outlook Standardkonto ändern

Outlook Standardkonto ändern
25.05.2008 18:20:57
Reinhard
Hallo Wissende,
die Archivsuche nach "Outlook Konto" brachte mir diverse Beitragsfolge wo einhellig die meinung vertreten wurde, Outlook würde immer über das Standardkonto senden und per Vba könnte man dieses aus Sicherheitsgründen nicht ändern, also kein anderes Konto angeben.
Nun stolperte ich im Internet über nachfolgenden Code der mir so aussieht als ob man damit ein Konto auswählen könnte.
Nur kriege ich dies nicht getestet da ich nicht weiß welche Parameter ich der Funktion mitgeben müßte.
Bezogen auf das Bild:
Userbild
habe ich dann versucht die Funktion mit dieser Sub auszuprobieren:
Sub tt()
Dim Test, myOlApp, myItem
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = myOlApp.CreateItem(olMailItem)
Test = Set_Account("Name1", myItem, "Unbenannt - Nachricht (Nur Text)")
End Sub
Leider bemängelt der Debugger bei M bzw. m ByVal M
benutze, wird falscher Typ bei "Unbenannt - Nachricht (Nur Text)" bemängelt.
Welche Parameter will denn die Funktion? Und, macht sie eigentlich das was ich annehme?
Danke ^ Gruß
Reinhard

'Function sends the settet Account-name as result, if empty, no account is set
Function Set_Account(ByVal KontoName As String, M As Outlook.MailItem, OLI As Outlook.Inspector) _
As String
caption_CmdBar = "Standard"
caption_KontoBtn = "K&onten"
caption_Konto = KontoName
'_______________________________________________________________________
Dim CBs As CommandBars
Dim CB As CommandBar
Dim CBB As CommandBarPopup
Dim MC As CommandBarControl
Set CBs = OLI.CommandBars
CBn = OLI.CommandBars.Count
' Loop Command-Bars....
For CBi = 1 To CBn
Bez = CBs(CBi).Name
If Bez = caption_CmdBar Then
Set CB = CBs(CBi)
CBBn = CB.Controls.Count 'CB ~ CmdBar
'   Loop CmdBar-Buttons...
For CBBi = 1 To CBBn
Bez = CB.Controls(CBBi).Caption
If Bez = caption_KontoBtn Then
Set CBB = CB.Controls(CBBi)
MCn = CBB.Controls.Count ' MC ~ Menu-Command
'   Loop Konto-Auswahl-Menu-Befehle
For MCi = 2 To MCn
Bez = CBB.Controls(MCi).Caption
Bez = Right(Bez, Len(Bez) - 3)
Debug.Print MCi; ")"; Bez
If Bez = caption_Konto Then
CBB.Controls(MCi).Execute
Set_Account = caption_Konto
Exit Function
End If
'   |______________________________________________|
Next MCi
'   \_________________________________________________/
End If
'   |________________________________________________________|
Next CBBi
'   \____________________________________________________________/
End If
' |_________________________________________________________________|
Next CBi
'\____________________________________________________________________/
Set_Account = ""
End Function


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Satzergänzung :-)
25.05.2008 18:23:54
Reinhard
Hallo,
Leider bemängelt der Debugger bei M bzw. m
sollte so aussehen:
Leider bemängelt der Debugger bei M bzw. myItem den falschen Typ (ByRef) weshalb ich dann
Gruß
Reinhard

AW: Satzergänzung :-)
25.05.2008 20:11:00
Ramses
Hallo
Wie im Posting bereits von Sue beschrieben, das geht erst mit einem nicht unerheblichen Workaround und dann nur für Outlook 2003. Erst Outlook 2007 unterstützt den VBA-gesteuerten Wechsel des Accounts via die MailItem-Eigenschaft "SendUsingAccount "
Daher wird das bei der von dir verwendeten Version grundsätzlich nicht funktionieren
Gruss Rainer

AW: Satzergänzung :-)
27.05.2008 14:18:00
Reinhard
Hallo Rainer,
danke für die Information.
Wer, wo ist eigentlich Sue?
Gruß
Reinhard

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige