Avatar billede mallemukken Nybegynder
06. november 2006 - 14:34 Der er 4 kommentarer og
1 løsning

checke om en folder i outlook eksistere

Jeg har følgende kode:
Dim OutL As New Outlook.Application
    Dim OutLCon As Outlook.ContactItem
    Dim OutName As Outlook.NameSpace
    Dim OutFolder As Outlook.MAPIFolder
    Dim OutNewFolder As Outlook.MAPIFolder
    Dim OutOldFolder As Outlook.MAPIFolder
    Dim StrFileName As String
    Dim Fs As New FileSystemObject
    Dim StrContacts() As String
    Dim StrInput As String
   
    StrFileName = "c:\temp\conout.pst"
   
    If Fs.FileExists(StrFileName) Then
       
        Set OutName = OutL.GetNamespace("MAPI")
        Set OutFolder = OutName.GetDefaultFolder(olFolderContacts)
       
        Set OutOldFolder = OutFolder.Folders("Testfolder")
        OutOldFolder.Delete
       
        Set OutNewFolder = OutFolder.Folders.Add("Testfolder")
   
        Open StrFileName For Input As #1
       
        Do While Not EOF(1)
            Line Input #1, StrInput
           
            StrContacts = Split(StrInput, ";")
           
            Set OutLCon = OutNewFolder.Items.Add
                     
           
            LblStatus.Caption = "Updating....: " & StrContacts(0) & " " & StrContacts(1)
           
            With OutLCon
                .Account = StrContacts(0)
                .FirstName = StrContacts(1)
                .NickName = "bst"
                .BusinessTelephoneNumber = StrContacts(8)
                .Email1Address = StrContacts(6)
                .Save
       
            End With
       
        Loop
       
        OutLCon.Close olSave
        Set OutLCon = Nothing
        Close #1
       
       
    End If


spørgsmålet går på at, der hvor jeg sletter en folder for derefter at tilføje den igen. Kan jeg ikke checke om den er der?
ala  floder.exists(strnavn) eller ligende ???
Avatar billede terry Ekspert
06. november 2006 - 15:47 #1
One way of doing this is to try and set it as the working folder, if you cant then assume it doesn’t exist (error)

cFolder is a string which contains the name of the folder




Function ContactFolderExists(cFolder As String) As Boolean

Dim oApp As Outlook.Application

Dim oNameSpace As Outlook.NameSpace

Dim oFolder As MAPIFolder

Dim oWorkFolder  As MAPIFolder



    On Error GoTo Proc_Err

   

    Set oApp = CreateObject("Outlook.Application")

    Set oNameSpace = oApp.GetNamespace("MAPI")

    Set oFolder = oNameSpace.GetDefaultFolder(olFolderContacts)

   

    Set oWorkFolder = oFolder.Folders(cFolder)

   

    ContactFolderExists = True

   

Proc_Exit:



    On Error Resume Next

   

    Set oWorkFolder = Nothing

    Set oFolder = Nothing

    Set oNameSpace = Nothing

    Set oApp = Nothing

   

    Exit Function



Proc_Err:

    ContactFolderExists = False

    Resume Proc_Exit

   

End Function
Avatar billede mallemukken Nybegynder
07. november 2006 - 13:24 #2
Takker Terry,,,
En omstændig metode, men den virker
Avatar billede terry Ekspert
07. november 2006 - 13:28 #3
yes, but its also the only way I could find, if I find another method I'll drop a comment.

Thanks
Avatar billede terry Ekspert
07. november 2006 - 13:37 #4
here is a link which may be useful, says VB.NET but looks more like VB(A) to me.
http://support.microsoft.com/kb/313800
Avatar billede mallemukken Nybegynder
07. november 2006 - 13:40 #5
Thanks a lot, is useful
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