Bestimmten Emailaccount ansprechen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Bestimmten Emailaccount ansprechen
von: matthias
Geschrieben am: 17.09.2015 13:03:46

Hallo,
Wie kann man in Outlook einen anderen Emailaccount ansprechen ohne die laufende Nummer zu nutzen.
1 ist bei mir meine Firmenemailadresse
2 ist bei mir eine privatea Emailadresse
Set .SendUsingAccount = .Session.Accounts.Item(2)
Auf einem anderen PC ist meine private Emailadresse aber 1.
Somit funkioniert meine Sendefunktion der Email nicht mehr.
Die Accountname der privaten Emailadresse sind auf beiden PC`s gleich.
Kann mir hier jemand weiterhelfen?
Gruß

Bild

Betrifft: steht in der Hilfe zur Accounts.Item-Methode
von: Rudi Maintaire
Geschrieben am: 17.09.2015 13:10:53


Bild

Betrifft: AW: Bestimmten Emailaccount ansprechen
von: matthias
Geschrieben am: 17.09.2015 13:21:50
Hallo Matthias,
schau dazu mal hier nach:
http://xlforum.herber.de/messages/1447121.html
Wichtig ist hier die For-Schleife. In dieser wird der Name des Accounts für jedes vorhandene Item verglichen, dabei läuft ein Zähler mit. Sobald es zur Übereinstimmung (dein gesuchter Account) kommt, wird die Schleife verlassen und du hast deinen Index für .Session.Accounts.Item(Index).
lg Matthias

Bild

Betrifft: AW: Bestimmten Emailaccount ansprechen
von: matthias
Geschrieben am: 17.09.2015 13:28:23
danke für die Info mit der Hilfe.
Gibt es hierzu eine SUFU? Sonst such ich mir ja einen Wolf o.O

Bild

Betrifft: SUFU
von: Rudi Maintaire
Geschrieben am: 17.09.2015 13:33:40
natürlich gibt es die. Jede Hilfe hat eine.
Du musst nur die Outlook-VBA-Hilfe nehmen.

Bild

Betrifft: AW: SUFU
von: matthias
Geschrieben am: 17.09.2015 13:36:38
Ich finde die Hilfe irgendwie nicht...
Wo ist die abgelegt?
Link?

Bild

Betrifft: wieso Link?
von: Rudi Maintaire
Geschrieben am: 17.09.2015 13:40:50
ich fasse es nicht!
Hast du noch nie die Hilfe eines Programms benutzt?
Outlook öffnen
VBA aufrufen (Alt+F11)
F1 drücken.

Bild

Betrifft: AW: wieso Link?
von: matthias
Geschrieben am: 17.09.2015 13:41:41
achso.
ich habe hier nach einer Hilfefunktion gesucht.

Bild

Betrifft: ogottogott! owT
von: Rudi Maintaire
Geschrieben am: 17.09.2015 13:43:14


Bild

Betrifft: AW: ogottogott! owT
von: matthias
Geschrieben am: 17.09.2015 13:57:57
So habe die Hilfe gelesen
dann sollte das ganze Also so gehen
Das Argument Index kann ein numerischer Wert oder eine Zeichenfolge sein, die den Titel des Objekts enthält.

Sub SeriendruckBEmail(ByVal strSheet As String)
'** Dimensionierung der Variablen
Dim strPDF As String
Dim OutlookApp As Object, strEmail As Object
    Dim olOldBody As String
    Dim wksData As Worksheet, wksPrint As Worksheet
    Dim iRow As Integer
    Dim FolderPDF As String, File_PDF As String
    On Error GoTo Fehler
    Set wksData = ActiveWorkbook.Worksheets(strSheet)
    Set wksPrint = ActiveWorkbook.Worksheets("B") 'Name des zu drucken Blatts ggf. anpassen
    iRow = 8
    FolderPDF = ActiveWorkbook.Path & Application.PathSeparator & "_11_E-Mail"
    If Dir(FolderPDF, vbDirectory) = "" Then
      VBA.MkDir FolderPDF
    End If
    FolderPDF = FolderPDF & Application.PathSeparator
    Do Until IsEmpty(wksData.Cells(iRow, 1))
      If UCase(wksData.Cells(iRow, 40).Value) = "A" Then 'Wert in Spalte D prüfen
        wksPrint.Range("T1").Value = wksData.Cells(iRow, 1).Value 'lfd. Nr
        wksPrint.Range("U1").Value = strSheet
        wksPrint.Calculate '???? - wenn Formelberechnungen aktualisiert werden müssen
        File_PDF = FolderPDF & wksPrint.Range("A8").Text & "_" _
            & wksPrint.Range("A9").Text & "_" & wksPrint.Range("U1").Text & ".pdf" 'Zellen und  _
verbindenden Text ggf. anpassen
        wksPrint.ExportAsFixedFormat Type:=xlTypePDF, Filename:=File_PDF, _
            Quality:=xlQualityStandard, IgnorePrintAreas:=False, OpenAfterPublish:=False
            Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)
            With strEmail
            Set .SendUsingAccount = .Session.Accounts.Item("SKK Willmering")
            olOldBody = .htmlBody
                .To = wksData.Cells(iRow, 62).Value
                .Subject = "Anspruchsmitteilung" & " " & wksPrint.Range("U1").Value
                 .body = "Hallo" & " " & wksPrint.Range("A8").Value & "," & Chr(13) & Chr(13) &  _
_
 "anbei wie vertraglich vereinbart deine Anspruchsmitteilung für den Monat" & " " & wksPrint. _
Range("U1").Value & " " & "zur weiteren Verwendung."
                 .Display    'Mail nur Anzeigen Nicht senden
          
            VBA.SendKeys "^{END}", True
            'Einfügen einer bestimmten Signatur
            strSignatur = "SKK Willmering"
            'strSignatur = "meineFirmenSignatur"
            .GetInspector.CommandBars.Item("Insert").Controls("Signatur").Controls(strSignatur). _
 _
Execute
                .Attachments.Add File_PDF
                 .send
                      Sleep 15000  ' 2 Sekunden warten
                 
                 Dim olApp    As Object
    Dim olName   As Object
    Dim olFolder As Object
    Dim olMail   As Object
     Set olApp = GetObject(, "OutLook.Application")
     Set olName = olApp.GetNamespace("MAPI")
     Set olFolder = olName.Session.Folders("SKK Willmering").Folders("Gesendete Objekte")
     Set olMail = olFolder.Items.GetLast
olMail.SaveAs FolderPDF & Format(Date, "yymmdd") & "_" & "B" & "_" & wksPrint.Range("A8").Text & _
 "_" & wksPrint.Range("A9").Text & "_" & wksPrint.Range("U1").Text & ".msg", 3
On Error Resume Next
                 
                 
                 
            End With
             Kill File_PDF
 End If
     
      iRow = iRow + 1
        Loop
  Err.Clear
Fehler:
      With Err
        Select Case .Number
          Case 0 'Alles OK
          Case 9
            MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
              & "Blatt """ & strSheet & """ ist nicht vorhanden!"
          Case Else
            MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
        End Select
      End With
End Sub

Geändert wurde die Zeile von
Set .SendUsingAccount = .Session.Accounts.Item(2)
auf
Set .SendUsingAccount = .Session.Accounts.Item("SKK Willmering")
Es kommt dann der Fehler
ungültiger Prozeduraufruf oder ungültiges Argument.
Der Accountname in Outlook heisst aber SKK Willmering.
???

Bild

Betrifft: AW: ogottogott! owT
von: Rudi Maintaire
Geschrieben am: 17.09.2015 14:10:58
als String muss lt. Hilfe DisplayName angegeben werden.
Bau zum testen doch mal

            With strEmail
debug.print .Session.Accounts.Item(1).DisplayName
debug.print .Session.Accounts.Item(2).DisplayName
            'Set .SendUsingAccount = .Session.Accounts.Item("SKK Willmering")
ein. Dann hast du die Ausgabe im Direktbereich.

Bild

Betrifft: AW: ogottogott! owT
von: matthias
Geschrieben am: 17.09.2015 14:17:47
Danke habe es ausprobiert.
Nun wurden die Email wieder vom Account 1 versendet.
Nicht vom Account SKK Willmering.
Oder hätte ich den Displayname gegen SKK Willmering austauschen sollen?
Was bewirkst du durch den Code?

Bild

Betrifft: AW: ogottogott! owT
von: matthias
Geschrieben am: 17.09.2015 14:25:45
Im Direktfenster tauchen nun beide Emailaccounts auf, jedoch werden die Email nur vom ersten Postfach aus versendet.

Bild

Betrifft: AW: ogottogott! owT
von: Rudi Maintaire
Geschrieben am: 17.09.2015 14:53:21
du musst das was im Direktfenster steht entsprechend in dein Item einbauen.
Ich mach jetzt aber nicht weiter, da ich weder eine Verwendung dafür noch Ahnung davon habe. Testen kann ich auch nicht. Musst du weiter basteln bis es funktioniert.
Gruß
Rudi

Bild

Betrifft: AW: ogottogott! owT
von: matthias
Geschrieben am: 17.09.2015 15:18:53
Hallo,
danke. Nun funktioniert das Ganze.
Vielen Dank.
TIPTOP

Bild

Betrifft: dann beendet, nicht mehr offen oT
von: robert
Geschrieben am: 17.09.2015 15:21:43


Bild

Betrifft: AW: Bestimmten Emailaccount ansprechen
von: mumpel
Geschrieben am: 18.09.2015 10:21:54
Hallo!
Zu diesem Thema hatte ich erst vor ein paar Tagen eine Frage beantwortet.
Gruß, René

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bestimmten Emailaccount ansprechen"