Clever-Excel-Forum

Normale Version: VBA Fehler 91 DRINGEND
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich versteh die Welt nicht mehr.
Habe an meinem rechner folgendes Makro erstellt
Code:
Sub AliasMail()
Dim Absender
Dim AWMsg
Dim OLNachricht As Outlook.MailItem
'-------------------
Set OLNachricht = Application.ActiveInspector.CurrentItem
Absender = OLNachricht.To
With OLNachricht.Reply
    .SentOnBehalfOfName = Absender '"EK@Hoff-it.de" '"Janis.Joplin@Blues.com"..
    .Display
End With

End Sub
Das funktionierte ohne Probleme. Nun habe ich die Codezeilen in ein Modul auf einem anderen rechner reinkopiert und bekomme bei der Zeile : Set OLNachricht..... den Fehler 91 (objektvariable oder With blockvariable nicht festgelegt.

Woran liegt das ??
Hat jemand ne Idee, denn ich springe hier bald von der Teppichkante :3322

Vielen Dank

DeBabba


Code in Codefenster eingefügt
Moderator
Hallöchen,
Die Rechner haben beide die gleiche Outlook - Version?
Hi Andre
Sorry, leider etwas spät
Nein ich habe 2010 der andere 2013
Grtuß
Klaus
Hallo Klaus,

ich habe glücklicherweise auch 2013. Der Fehler kommt bei mir auch, wenn ich keine email offen habe. Du möchtest ja im folgenden Daten aus einer email abrufen wie .To und Aktionen ausführen. Ich vermute, wenn Du in 2010 keine Nachricht offen hast, bekommst Du auch einen Fehler.

Vermeiden kannst Du den z.B., indem Du prüfst, ob Application.ActiveInspector etwa Nothing zurückgibt. Wenn ja, dann Exit Sub oder netterweise noch eine MsgBox für den user ...

Siehe dazu hier:
http://msdn.microsoft.com/de-de/library/...e.15).aspx
Hallo!

Ich würde das so machen.

PHP-Code:
Option Explicit

Sub AliasMail
()

 
Dim oReply As Outlook.MailItem
 Dim obj    
As Object


 Select 
Case True
        
Case TypeOf Application.ActiveWindow Is Outlook.Inspector
             Set obj 
Application.ActiveInspector.CurrentItem
        
Case Else
             
With Application.ActiveExplorer.Selection
                  
If .Count Then Set obj = .Item(1)
             
End With
        
If obj Is Nothing Then Exit Sub
 End Select
  
        
If TypeOf obj Is Outlook.MailItem Then
           With obj
.Reply
               
.SentOnBehalfOfName obj.To
               
.Display
           End With
        End 
If
  
End Sub 

Gruß, René
Hallo Rene (Mumpel),
Hallo Schauan
Vielen Lieben Dank für eure Tips
@Schauan
Das mit dem Nothing ist mir nicht eingefallen (obwohl ich das z.B. bei Excel immer wieder verwende). Manchmal sieht man vor lauter Bäumen eben den Wald nicht

@Mumpel
Danke für Dein Script. Ich werde das morgen früh gleich mal testen. Jetzt ist erst mal Bubu Time :3131

Nochmals vielen lieben Dank für eure Tipps :100:


Gruß
DeBabba
Guten Morgen Rene
nochmals Danke für Dein Script. Es funzt Smile
Eine Frage hab ich da noch.
mit .to bekomme ich die Adresse an welchen die Mail gesendet wurde. Geht das auch, dass man hier die Komplette Adresse angezeigt bekommt (also Piff.Paff@Gagga.de) und nicht nur Piff Paff ??

Danke
KLaus
Normalerweise sollte die Adresse ausgegeben werden, nicht der Anzeigename. Bei Nutzung von "SentOnBehalfOfName" könnte das aber anders sein. Obwohl diese Zeile eigentlich nicht erforderlich ist, da normalerweise immer automatisch von dem Konto gesendet werden sollte auf dem die Email eingeht.
Hi Rene
danke für Dein Feedback.