• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

met een macro in excel 2016 een map maken in Outlook 2016

Status
Niet open voor verdere reacties.

rpj83

Gebruiker
Lid geworden
23 jun 2015
Berichten
8
Hallo,

Ik heb in 2015 met hulp van dit forum een macro gemaakt in excel om een publieke map in outlook te maken. Dit werkte perfect.
oude post

Dit werkte met Excel en outlook 2010, maar nu krijgen we hier een paar andere computers en daar zit excel en outlook 2016 op. Nu lijkt de macro het niet meer te doen.

weet iemand of er dingen zijn gewijzigd waardoor de macro niet meer werkt?

Ik krijg een fout bij
Set olInbox = olNS.GetDefaultFolder(olPublicFoldersAllPublicFolders)

Hieronder de hele code
in kolom F staat de naam van de nieuw te maken map.

Code:
Function CheckForFolder(strFolder As String) As Boolean
' looks for subfolder of specified folder, returns TRUE if folder exists.
Dim MyString As String
Range("F" & (ActiveCell.Row)).Select
    MyString = ActiveCell.Value

Dim olApp As Outlook.Application
Dim olNS As Outlook.Namespace
Dim olInbox As Outlook.MAPIFolder
Dim FolderToCheck As Outlook.MAPIFolder
 
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set olInbox = olNS.GetDefaultFolder(olPublicFoldersAllPublicFolders)
Set olInbox = olInbox.Folders("lopende orders")
 
' try to set an object reference to specified folder
On Error Resume Next
Set FolderToCheck = olInbox.Folders(MyString)
On Error GoTo 0
 
If Not FolderToCheck Is Nothing Then
  CheckForFolder = True
End If
 
ExitProc:
Set FolderToCheck = Nothing
Set olInbox = Nothing
Set olNS = Nothing
Set olApp = Nothing
End Function
Code:
Function CreateSubFolder(strFolder As String) As Outlook.MAPIFolder
' assumes folder doesn't exist, so only call if calling sub knows that
' the folder doesn't exist; returns a folder object to calling sub

Dim olApp As Outlook.Application
Dim olNS As Outlook.Namespace
Dim olInbox As Outlook.MAPIFolder
 
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set olInbox = olNS.GetDefaultFolder(olPublicFoldersAllPublicFolders)
Set olInbox = olInbox.Folders("lopende orders")
 
Set CreateSubFolder = olInbox.Folders.Add(strFolder)
 
ExitProc:
Set olInbox = Nothing
Set olNS = Nothing
Set olApp = Nothing
End Function
Code:
Sub create()
Dim MyString As String
Range("F" & (ActiveCell.Row)).Select
    MyString = ActiveCell.Value

Dim MyFolder As Outlook.MAPIFolder
If CheckForFolder(MyString) = False Then ' Folder doesn't exist
  Set MyFolder = CreateSubFolder(MyString)
End If
End Sub
 
Laatst bewerkt:
Hoi HSV,

Bedankt voor de link. Ik heb ernaar gekeken, maar het zou het gewoon nog moeten doen.
Ik bedacht me dat het misschien aan de publieke folders ligt. met 2010 werkte we met een exchange en nu met IMAP en moest ik de publieke mappen synchroniseren.
Misschien komt het hierdoor dat het niet aangemaakt kan worden.

Ik heb "olPublicFoldersAllPublicFolders" vervangen voor "olFolderInbox" en dan wordt het mapje wel aangemaakt (maar in m'n inbox)

als ik hem niet direct in de publieke map kan maken, zou ik dan de map kunnen maken in me inbox en daarna naar de publieke verplaatsen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan