Avatar billede flemming39 Nybegynder
24. september 2006 - 13:47 Der er 6 kommentarer og
1 løsning

Kan ikke åbne outlook efter at have konverteret til 2003

Hejsa
(Jeg har også dette spørgsmål åbent under /office/ men kom i tanke om at det nok hørte mere hjemme her)

Jeg har konverteret fra office 2000 til 2003.
Fra min crm applikation lavet i acces kan jeg sende mails, via vba kode hvor jeg åbner en outlook session. I 2003 kan jeg ikke åbne outlook efter at have sendt emails fra access, jeg får fejlen "Handlingen lykkes ikke". Når jeg lukker access kan jeg igen åbne outlook. Det er som om der er en lås på som skal frigives, efter jeg har konverteret til 2003.

Er der nogen der har haft et lignende problem?

mvh Flemming
Avatar billede terry Ekspert
24. september 2006 - 19:53 #1
Can we see the code you are using to open Outlook?
Avatar billede flemming39 Nybegynder
25. september 2006 - 20:40 #2
Here it is:

Public Sub fMakeEMail(strRecipient As String, Optional strSubject As String, Optional astrAttachments As Variant)
    Set objOLMailItem = New clsOutlook
    objOLMailItem.CreateMail strRecipient, strSubject, , astrAttachments
End Sub

Private Sub mobjOLApp_ItemSend(ByVal Item As Object, Cancel As Boolean)

  Dim objNamespace As Outlook.NameSpace
  Dim objInbox As Outlook.MAPIFolder
  Dim objSentFolder As Outlook.MAPIFolder
  Dim strLeftSubject As String

  On Error GoTo Mail_Send_Err:
 
  Set objNamespace = mobjOLApp.GetNamespace("MAPI")

  'This is the Inbox folder.
  Set objInbox = objNamespace.GetDefaultFolder(olFolderInbox)
  Set objSentFolder = objInbox.Parent.Folders.Add("folder")
  Set objSentFolder = objInbox.Parent.Folders("folder")
  Set Item.SaveSentMessageFolder = objSentFolder

  ' Clean up objects that are created in this subroutine.
  Set objInbox = Nothing
  Set objSentFolder = Nothing
  Set objNamespace = Nothing

  ' Save the MailItem object as msg-file in the temp-directory - first check for Null-pointers
  If Item.Subject = "" Then
        Item.Subject = Item.Recipients(1)
  End If
  If Item.Body = "" Then
        Item.Body = " "
  End If
  ' Check if folder exists - if not, create it.
  If Not fIsFileDIR(getdriveletter & ":\" & strSaveEMailTemp, vbDirectory) Then
        Dim objFileSystem As Object
        Dim objNewFolder As Object
        Set objFileSystem = CreateObject("Scripting.FileSystemObject")
        Set objNewFolder = objFileSystem.CreateFolder(getdriveletter & ":\" & strSaveEMailTemp)
        Set objFileSystem = Nothing
        Set objNewFolder = Nothing
  End If
  ' Save item as Outlook message file
  Item.SaveAs getdriveletter & ":\" & strSaveEMailTemp & Item.Subject & ".msg", olMSG
  ImportMail getdriveletter & ":\" & strSaveEMailTemp & Item.Subject & ".msg", Left$(Item.Body, 30)
 
Mail_Send_Exit:
    Set mobjOLApp = Nothing  'To make individually Outlook handling possible
    Exit Sub
   
Mail_Send_Err:
Select Case err.Number
    Case -2147352567:  '"folder"-folder allready exists
        Resume Next
    Case Else
        MsgBox err.Number & ": " & err.Description, vbInformation, "Fejl i Mail-funktion"
        Resume Mail_Send_Exit
    End Select
End Sub
Avatar billede terry Ekspert
26. september 2006 - 12:43 #3
Hi

Dont think all the code is here, but it maybe isnt necessary.


I think you have a class module somewhere in your application. This is very likely opening Outlook and not closing it again, it is opened but not visible. If you go into Task manager after you have run the code you will very likley see Outlook is running although it snot visible.

So you need to make sur ethat ALL obejcts are set to Nothing and that Outlook is close.

.Quite I think does that (on the outlook object)
Avatar billede flemming39 Nybegynder
26. september 2006 - 13:46 #4
thanks Terry it sounds very helpfull to me

I will look into it when I return from work tonight.
Avatar billede flemming39 Nybegynder
27. oktober 2006 - 10:58 #5
Thanks a lot Terry
Your suggestion worked. When I do an outlook.quit as the last thing before quitting ITEMSEND the "invisible" session is killed. In former versions this must have been included since I did not have the problem running 2000.
Im sorry not answering you before now, but I have "parked" this problem for a time because of other work but also, I must admit, because I thaught that an/all existing outlook session would be closed but when I tested your approach today I reconigsed, that they keep running :-)

Please post an answer.

Many regards from Flemming
Avatar billede terry Ekspert
27. oktober 2006 - 18:23 #6
No problem in your late reply Flemming, whats important is its working.

Have a good weekend
Avatar billede flemming39 Nybegynder
27. oktober 2006 - 21:34 #7
same to you
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester