excel naar outlook agenda

Status
Niet open voor verdere reacties.
pfff het zit me echt niet mee...
Nu heb ik gelukkig het eea toegevoegd.. (zie bijlage) Maar nu komt hij bij de regel " Set oDialog = CreateObject("MSComDlg.CommonDialog")" met een foutmelding dat activex geen object kan maken.....

Kijk eens op onderstaande site

http://www.visualbasicscript.com/m_24401/tm.htm

Afhankelijk welke windows versie (xp of Vista) moet je nog dingen extra installeren.
Googlen op foutmelding geeft vaak wel een oplossing.
Ook veel tips op www.outlookcode.com
 
Duidelijk.. Ik ga even zoeken. In elk geval wederom bedankt voor je snelle reactie:thumb:
 
De basis om een afspraak in de outlook-agenda te zetten:
In dit voorbeeld op 06-03-2009 van 12.30 tot 13.15 in vergaderzaal C:

Code:
Sub afspraak()
  With CreateObject("Outlook.Application").CreateItem(1)
    .Start = DateValue("06-03-2009") + TimeValue("12:30")
    .Duration = 45
    .Subject = "onderwerp"
    .Location = "Vergaderzaal C"
    .Save
  End With
End Sub
 
De basis om een afspraak in de outlook-agenda te zetten:
In dit voorbeeld op 06-03-2009 van 12.30 tot 13.15 in vergaderzaal C:

Duidelijk, dit werkt perfect!... Hiermee kan ik weer verder met mijn probleem...
Het wijzigen/zoeken e.d. laat ik nog even achterwegen, in elk geval kan ik nu mijn rooster vanuit excel naar mijn outlook zetten... en dat is voorlopig even voldoende

THX!
 
Code:
Sub afspraken()
  For Each cl In Blad1.[a8:a80]
   If cl.Offset(0, 1) <> "" Then
     with creat[B][COLOR="DarkRed"]e[/COLOR][/B]object("outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).CreateItem(1)
       .Start = cl.value +cl.offset(,2)
       .End = cl.value + cl.offset(,3)
       .Subject = cl.Offset(, 1)
       .Location = cl.Offset(, 5)
       .ReminderSet = False

       Set appt = .parent.Items.Find("[Start] = '" & Format(.Start, "ddddd h:mm") & "' AND [Subject]='" & cl.Offset(0, 1) & "' And [End] = '" & Format(.End, "ddddd h:mm") & "'")
       If Not appt Is Nothing Then appt.Delete
       .Save
      End With
    End If
  Next
End Sub

Naar aanleiding van je vorige voorbeelden ben ik toch nog even aan het kijken wat ik nu in het hierboven staande voorbeeld verkeerd had gedaan. Daar ben ik nu achter... Alleen (je zal me wel een zeur vinden) maar hij maakt nu elke keer netjes de afspraak aan... ook al bestaat hij al?

Kan je me misschien aangeven waar dat mogelijk aan zou kunnen liggen

Ik merk dat het aan de regel ligt ` with createobject("outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).CreateItem(1)`

Zet ik daar ` With CreateObject("Outlook.Application").CreateItem(1)´ neer dan voegt hij wel de afspraak in.. maar controleert hem blijkbaar niet
 
Laatst bewerkt:
Soms.....ben ik echt stom, sorry. Hij maakt hem idd maar 1 keer aan.

Is dus opgelost een kwestie van goed kijken zullen we maar zeggen
 
Zo kan het simpel ter voorkoming van dubbele afspraken:

Code:
Sub afspraak()
  With CreateObject("Outlook.Application").CreateItem(1)
    .Start = DateValue("06-03-2009") + TimeValue("12:30")
    .duration = 45
    .Subject = "onderwerp"
    .Location = "Vergaderzaal C"
    
    c0 = "[Start] = '" & Format(.Start, "ddddd h:mm") & "' AND [Subject]='" & .Subject & "' And [End] = '" & Format(.End, "ddddd h:mm") & "'"
    With .Application.Getnamespace("MAPI").Getdefaultfolder(9).Items
      If Not .Find(c0) Is Nothing Then .Find(c0).Delete
    End With
    .Save
  End With
End Sub

NB. het verschil in hoeveelheid code met de suggestie van cvhuis
 
het verschilt idd erg in de lengte van de code.

Nu ben ik alleen nog aan het zoeken (google ed.) om een afspraak te kunnen wijzigen en te verwijderen.

Maar ik zat volledig fout met de opbouw van de excel sheet (kwestie van niet goed lezen :confused:)
 
De verwijdering staat in mijn laatste bericht .find(c0).delete
 
Dat had ik gezien.. allen ik wil het volgende eigenlijk

voorbeeld van afspraak
# 06-03-2009 16:00 tot 17:00 Feestje #

Nu zou ik willen weten of het mogelijk is, maar als ik de afspraak in de excel sheet aanpas
bv naar # 06-03-2009 15:30 tot 17:30 Feestje #

dat als hij de macro doorloopt dat hij de afspraak aanpast ipv een nieuwe aanmaakt.

Daarnaast kan het ook voorkomen (het is namelijk een planning) dat een afspraak niet doorgaat. Dan zou hij hem dus eigenlijk automatisch moeten verwijderen.

Ik weet dat ik veel vraag maar hopelijk is het duidelijk wat of waar ik naar toe wil

Rene
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan