Beste VBA Kenners,
Ik heb wat hulp nodig, ik kom een heel eind maar loop nu erg vast. hopelijk kunnen jullie als doorgewinterde VBA-ers mij een zetje de goede richting in geven.
Mijn doel van dit kleine programmeerprojectje is dat ik vanuit een lijst met offertes, bedrijfsnamen, offerte data en genomen opvolg acties
automatisch via VBA in de takenlijst in de Outlook van collega's taken wil genereren.
De onderstaande code werkt voor 1 item (excel regel).
Omdat het een lijst is met diverse regels heb ik een Loop aangemaakt (met behulp van wat gegoogle) om de lijst te door lopen.
In principe werkt de Loop, alleen niet op de manier zoals bedoeld.
Hiervoor is wat uitleg benodigd.
Met de actie .Display (om te zien wat er gebeurd) geactiveerd wordt er een nieuwe Taak window geopend en deze wordt prachtig ingevuld. Alleen de Loop wordt binnen deze ene geopende Taak window doorlopen, alle voorgaande input wordt overschreven en pas bij het laatste item (lees Excel regel) stopt het vullen/wijzen van de input. De geadresseerde regel wordt gevuld met steeds het zelfde mailadres, terwijl het overige wordt gevuld zoals het in de excel regel is aangegeven.
Het Taakwindow sluit niet en er komt geen verdere (fout)melding.
Wanneer de actie .Send (zoals uiteindelijk ook de bedoeling is) wordt geactiveerd wordt het programma doorlopen maar met de foutmelding "Fout -2147467259 (80004005) U kunt de taak " Bedrijf x" niet toewijzen, omdat u niet de eigenaar van de taak bent.
bij "foutopsporing" wordt .assign aangegeven als waar de fout optreedt. De taak van het eerste bedrijf in de Excel regel wordt wel aangemaakt bij de betreffende collega in Outlook. Doch deze moet handmatig toestemming geven voor om de taak op te nemen in zijn lijst.
Het is juist de bedoeling dat de taken "Silent" bij de collega's in Outlook moeten komen, zonder dat deze een handeling hoeven te verrichten. maar ik heb nog geen idee hoe ik dat voor elkaar moet krijgen.
Ik hoop dat jullie mij hiermee kunnen helpen.
alvast bedankt voor de genomen moeite
Dit is de VBA code tot dusver:
Ik heb wat hulp nodig, ik kom een heel eind maar loop nu erg vast. hopelijk kunnen jullie als doorgewinterde VBA-ers mij een zetje de goede richting in geven.
Mijn doel van dit kleine programmeerprojectje is dat ik vanuit een lijst met offertes, bedrijfsnamen, offerte data en genomen opvolg acties
automatisch via VBA in de takenlijst in de Outlook van collega's taken wil genereren.
De onderstaande code werkt voor 1 item (excel regel).
Omdat het een lijst is met diverse regels heb ik een Loop aangemaakt (met behulp van wat gegoogle) om de lijst te door lopen.
In principe werkt de Loop, alleen niet op de manier zoals bedoeld.
Hiervoor is wat uitleg benodigd.
Met de actie .Display (om te zien wat er gebeurd) geactiveerd wordt er een nieuwe Taak window geopend en deze wordt prachtig ingevuld. Alleen de Loop wordt binnen deze ene geopende Taak window doorlopen, alle voorgaande input wordt overschreven en pas bij het laatste item (lees Excel regel) stopt het vullen/wijzen van de input. De geadresseerde regel wordt gevuld met steeds het zelfde mailadres, terwijl het overige wordt gevuld zoals het in de excel regel is aangegeven.
Het Taakwindow sluit niet en er komt geen verdere (fout)melding.
Wanneer de actie .Send (zoals uiteindelijk ook de bedoeling is) wordt geactiveerd wordt het programma doorlopen maar met de foutmelding "Fout -2147467259 (80004005) U kunt de taak " Bedrijf x" niet toewijzen, omdat u niet de eigenaar van de taak bent.
bij "foutopsporing" wordt .assign aangegeven als waar de fout optreedt. De taak van het eerste bedrijf in de Excel regel wordt wel aangemaakt bij de betreffende collega in Outlook. Doch deze moet handmatig toestemming geven voor om de taak op te nemen in zijn lijst.
Het is juist de bedoeling dat de taken "Silent" bij de collega's in Outlook moeten komen, zonder dat deze een handeling hoeven te verrichten. maar ik heb nog geen idee hoe ik dat voor elkaar moet krijgen.
Ik hoop dat jullie mij hiermee kunnen helpen.
alvast bedankt voor de genomen moeite
Dit is de VBA code tot dusver:
Code:
Sub SetTaskItemTask()
Dim myTaskAssignment As TaskItem
Sheets("Offerte overzicht").Select
On Error GoTo Err_Execute
Dim i As Long
On Error Resume Next
Set myTaskAssignment = CreateObject("Outlook.Application").CreateItem(olTaskItem)
On Error GoTo 0
i = 2
Do Until Trim(Cells(i, 1).Value) = ""
With myTaskAssignment
.Assign
.Recipients.Add Name:="collega@domain.com"
.Subject = Cells(i, 5)
If Cells(i, 15).Value = "" Then
.StartDate = Cells(i, 9)
Else: .StartDate = Cells(i, 15)
End If
If Cells(i, 15).Value = "" Then
.DueDate = .StartDate + 90
Else: .DueDate = .StartDate + Cells(i, 16)
End If
'.DueDate = .StartDate + Cells(i, 16)
.ReminderTime = .DueDate - 1
.Body = Cells(i, 11)
'.Display
.Send
End With
i = i + 1
Loop
Exit Sub
Err_Execute:
MsgBox "Er is een fout ontstaan! - Exporteren Excel items naar Outlook Taken."
End Sub