Outlook Com-Addin sperrt E-Mail aus Windows Explorer

08/02/2010 - 16:02 von Orazio Di Marco | Report spam
Hallo an alle,

ich hab ein Problem.

Ich hab ein Com-Addin für Outlook geschrieben welches eine eigene Commandbar
in Outlook einbindet. Auch beim Öffnen einer E-Mail erscheint eine eigene
Commandbar.

Jetzt hab ich aber ein Problem. Ausgangssituation: E-Mail liegt als Datei
auf dem Dateisystem (D:\email.msg).
Ist mein Com-Addin eingebunden und Outlook geöffnet, kann ich diese Datei
per Doppelklick einmal öffnen. Schließe ich die Mail und versuche die
gleiche Datei wieder per Doppelklick zu öffnen, erscheit die Meldung:

Die Datei "D:\email.msg" kann nicht geöffnet werden. Möglicherweise
existiert die Datei nicht, oder Sie besitzen nicht die Berechtigung, die
Datei zu öffnen, oder die Datei ist von einem anderen Programm geöffnet.
Klicken Sie mit der rechten Maustaste auf den Ordner, der die Datei enthàlt,
und klicken Sie dann auf "Eigenschaften", um Ihre Berechtigungen für den
Ordner zu überprüfen.

Mir kommt es so vor das mein Addin die Datei nun blockiert und nicht mehr
geöffnet werden kann, nachdem es das erste mal aufgerufen worden ist.
Im MyInspector_NewInspector steht folgender Code:

Private Sub myOlInspectors_NewInspector(ByVal Inspector As
Outlook.Inspector)

On Error GoTo fehler

If Application Is Nothing Then
Log "New Inspector -> OutlookApplication Is Nothing -> Exit Sub" & "
" & getLocalTimeMS
Exit Sub
End If

'Wenn es sich nicht um eine Mail handelt, dann erstelle auch keine
Buttons
If Inspector.CurrentItem.Class <> olMail Then Exit Sub

'Item setzten
Set m_Item = Inspector.CurrentItem

'Symbolleiste erstellen
Set OutlookCmdBars = Inspector.CommandBars
Set OutlookMenuBar = OutlookCmdBars.Add("TestAddon",
Office.MsoBarPosition.msoBarTop, False, True)
Set TodiCmdBarPopup = OutlookMenuBar.Controls.Add(Type:=msoControlPopup,
Temporary:=True)
TodiCmdBarPopup.Caption = "Mein Button"
TodiCmdBarPopup.Enabled = True

'Button erstellen
Set TodiButtonSaveMail =
TodiCmdBarPopup.Controls.Add(Type:=msoControlButton, Temporary:=True)
TodiButtonSaveMail.Style = msoButtonIconAndCaption
TodiButtonSaveMail.FaceId = 3
TodiButtonSaveMail.Caption = "&Test"
TodiButtonSaveMail.Enabled = True
OutlookMenuBar.Visible = True
Exit Sub

fehler:
Log "Es ist ein Fehler beim erstellen der Buttons aufgetreten."
Log "Fehlernr.: " & Err.Number
Log "Beschreibung: " & Err.Description

End Sub

Wie zu sehen ist, setzte ich noch ein Mailobject am Anfang. Dieses
Mailobject ist mit Events deklariert. Beim schließen der Mail hab ich
folgenden Code hinterlegt:

Private Sub m_Item_Close(Cancel As Boolean)
Set TodiButtonSaveMail = Nothing
Set TodiCmdBarPopup = Nothing
Set OutlookMenuBar = Nothing
Set OutlookCmdBars = Nothing
End Sub

Wo liegt das Problem? Was mach ich falsch? Ich verweifel langsam.
Bitte um hilfe!

gruß
 

Lesen sie die antworten

#1 Karsten Heddenhausen
08/02/2010 - 21:00 | Warnen spam
Moin, moin!

Ich habe mir deine Code-Schnipsel jetzt nicht im Detail angesehen. Aber
die Fehlermeldung deutet darauf hin, daß Du irgendwo die Datei geöffnet
hast und nicht wieder geschlossen hast. Nur das Object schliessen, was
die Datei geöffnet hat, schliesst die Datei nicht automatisch.

Ich bin auch schon mal in einem meiner Programme drauf reingefallen.

Gruß, Karsten


In article <e26#,
says...

Hallo an alle,

ich hab ein Problem.

Ich hab ein Com-Addin für Outlook geschrieben welches eine eigene Commandbar
in Outlook einbindet. Auch beim Öffnen einer E-Mail erscheint eine eigene
Commandbar.

Jetzt hab ich aber ein Problem. Ausgangssituation: E-Mail liegt als Datei
auf dem Dateisystem (D:\email.msg).
Ist mein Com-Addin eingebunden und Outlook geöffnet, kann ich diese Datei
per Doppelklick einmal öffnen. Schließe ich die Mail und versuche die
gleiche Datei wieder per Doppelklick zu öffnen, erscheit die Meldung:

Die Datei "D:\email.msg" kann nicht geöffnet werden. Möglicherweise
existiert die Datei nicht, oder Sie besitzen nicht die Berechtigung, die
Datei zu öffnen, oder die Datei ist von einem anderen Programm geöffnet.
Klicken Sie mit der rechten Maustaste auf den Ordner, der die Datei enthàlt,
und klicken Sie dann auf "Eigenschaften", um Ihre Berechtigungen für den
Ordner zu überprüfen.

Mir kommt es so vor das mein Addin die Datei nun blockiert und nicht mehr
geöffnet werden kann, nachdem es das erste mal aufgerufen worden ist.
Im MyInspector_NewInspector steht folgender Code:

Private Sub myOlInspectors_NewInspector(ByVal Inspector As
Outlook.Inspector)

On Error GoTo fehler

If Application Is Nothing Then
Log "New Inspector -> OutlookApplication Is Nothing -> Exit Sub" & "
" & getLocalTimeMS
Exit Sub
End If

'Wenn es sich nicht um eine Mail handelt, dann erstelle auch keine
Buttons
If Inspector.CurrentItem.Class <> olMail Then Exit Sub

'Item setzten
Set m_Item = Inspector.CurrentItem

'Symbolleiste erstellen
Set OutlookCmdBars = Inspector.CommandBars
Set OutlookMenuBar = OutlookCmdBars.Add("TestAddon",

Ähnliche fragen