Importare categorie outlook su access con vba

Anonimo
2018-09-03T23:15:11+00:00

Salve

ho collegato la mia tabella contatti con outlook ma non riesco a vedere le categorie.

Attualmente riesco ad inserire in una tabella del mio database tutto tranne le categorie.

Come posso fare? Si potrebbe fare attraverso vba?

Ho visto altri post ma purtroppo parlano di importazione mail e no di contatti.

Ho visto anche un vecchio post comune con un database del sito comune, ma purtroppo non vengono importate le categorie.

Se possibile aiutatemi, sono mesi che ci perdo la testa su....

Grazie a chi mi aiuterà.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2018-09-10T09:34:23+00:00

Ciao Massimiliano,

prima di girare la richiesta al supporto MSDN potresti provare a utilizzare la seguente routine, presa in prestito dal seguente post:

Using the Access Table with VBA in Outlook contacts I want to export and import


Sub ImportContactsFromOutlook()

   ' This code is based in Microsoft Access.

   ' Set up DAO objects (uses existing "tblContacts" table)

   Dim rst As DAO.Recordset

   Set rst = CurrentDb.OpenRecordset("tblContacts")

   ' Set up Outlook objects.

   Dim ol As Outlook.Application

   Dim olns As Outlook.Namespace

   Dim cf As Outlook.MAPIFolder

   Dim c As Outlook.ContactItem

   Dim objItems As Outlook.items

   'Dim Prop As Outlook.UserProperty

   Dim iNumContacts As Integer

   Dim i As Integer

   Set ol = GetObject(, "Outlook.Application")

   Set olns = ol.GetNamespace("MAPI")

   Set cf = olns.GetDefaultFolder(olFolderContacts)

   Set objItems = cf.items

   iNumContacts = objItems.Count

   If iNumContacts <> 0 Then

      For i = 1 To iNumContacts

         If TypeName(objItems(i)) = "ContactItem" Then

            Set c = objItems(i)

            rst.AddNew

            rst!FirstName = c.FirstName

            rst!LastName = c.LastName

            rst!Address = c.BusinessAddressStreet

            rst!City = c.BusinessAddressCity

            rst!State = c.BusinessAddressState

            rst!Zip_Code = c.BusinessAddressPostalCode

rst!Category = c.Categories

            ' Custom Outlook properties would look like this:

            ' rst!AccessFieldName = c.UserProperties("OutlookPropertyName")

            rst.Update

         End If

      Next i

      rst.Close

      MsgBox "Finished."

   Else

      MsgBox "No contacts to export."

   End If

End Sub


Ho lasciato la necessità di referenziazione anticipata "Early Binding" alla libreria di Outlook nel progetto VBA come prerequisito per far girare questa routine. In questo modo hai la possibilità di aggiungere tramite intellisense eventuali altri campi dei contatti.

David

La risposta è stata utile?

2 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2018-09-14T18:23:37+00:00

    Grazie mille David.

    Sei stato gentilissimo. Questa routine gira bene e mi aiuta a risolvere un bel problema.

    Alla prossima e grazie ancora.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2018-09-08T13:09:45+00:00

    Ciao Massimiliano,

    ti consiglio di contattare il supporto che si occupa di gestire questo tipo di richieste. 

    Supporto MSDN

    Flavio

    La risposta è stata utile?

    0 commenti Nessun commento