[vb6] Outlook appointment genereren met Redemption

Pagina: 1
Acties:

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 08-05 07:49

TwoR

Gekleurde stippen

Topicstarter
Hoi, Ik zit met het probleem dat als ik via Visual Basic 6 een appointment genereer in outlook al mijn collega's een email krijgen met een nieuw agenda item dat ze kunnen accepteren. Dit moet natuurlijk niet maar ik krijg het niet voor elkaar om de agenda items alleen aan te laten komen bij een aantal geselecteerde personen.

Ik gebruik de DLL van redemption om de beveiling van outlook te omzeilen en dat werkt allemaal perfect. De volgende code gebruik ik nu:
Visual Basic 6:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    Dim SafeItem, oItem
    Set SafeItem = CreateObject("Redemption.SafeappointmentItem")
    Set oItem = Application.CreateItem(1) 'Create a new appointment
    SafeItem.item = oItem 'set Item property
    
    For i = 0 To UBound(email_array)
        agendadata.emailadressen (email_array(i))
        email = agendadata.m_NadoDataSource.fields("email").Value
        SafeItem.Recipients.Add email
    Next i

    SafeItem.Recipients.ResolveAll
    SafeItem.subject = inputveld(0).text
    SafeItem.Body = inputveld(2).text
    SafeItem.Location = inputveld(1).text
    SafeItem.start = begindatumtijd
    SafeItem.End = einddatumtijd
    SafeItem.Send
In de For loop worden de email adressen opgevraagt en dan aan het item toegewezen doormiddel van recipients.Add. Ik heb nu voor het testen steeds 2 email adressen geselecteerd en dat klopt er worden netjes 2 email adressen aan Recipients toegevoegd. Dus daar zit volgens mij de fout niet.

Als ik vervolgens de rest van het script run dan wordt alles netjes afgelopen en aan het einde verstuurd. Het duurt dan nog ongeveer 2 seconden voordat mijn collega's me boos aan kijken >:)

Maar wat doe ik nu verkeerd ik heb de hele site van redemption al nageplozen maar ik kom dus niet meer verder.
Wat verder nog belangrijk is, is dat er gebruikt wordt gemaakt van een exchange server (wat volgens de site van redemption juist een voordeel zou moeten zijn).

Wie o wie kan mij hier kunnen vertellen wat ik nu nog fout doe??

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 08-05 07:49

TwoR

Gekleurde stippen

Topicstarter
Nog even een andere vraag. Als ik vanuit VB iets wil verwijderen uit outlook krijg ik dit helemaal niet voor elkaar via de redemption DLL. Iemand hier al eens mee gewerkt? en hoe heb je dat toen opgelost? Ik heb wel het entryID van het desbetreffende agenda item dus dat is het probleem niet.

Kom er net achter dat ik het EntryId alleen kan pakken als outlook open staat :( gaat weer lekker op deze "goede" vrijdag


:( dit had een edit moeten wezen.

[ Voor 25% gewijzigd door TwoR op 25-03-2005 10:34 ]


  • Captain Caveman
  • Registratie: Augustus 2003
  • Laatst online: 02-01 13:28
De code is in ieder geval goed (ik heb hier geen boos kijkende collega's gezien :)), dus het enige wat ik nu kan bedenken is dat er iets speciaals ingesteld staat voor de 2 e-mailadressen die je gebruikt, of dat deze in iets onverwachts ge-resolved worden.
Met iets speciaals bedoel ik dingen als automatisch doorsturen van afspraken naar collega's e.d.

Je zal het al wel geprobeerd hebben, maar wat gebeurt er als je alleen je eigen volledige e-mailadres aan de recipients collection toevoegt?

Voor je verwijder vraag, wat lukt er niet? Gebeurt er gewoon helemaal niks? Wordt het item wel goed gevonden (ff kijken door item.show te doen i.p.v. delete)?

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 08-05 07:49

TwoR

Gekleurde stippen

Topicstarter
bedankt voor je reactie ik zal zo nog even kijken hoe het reageert als ik alleen mijn email adres doe. Maar de twee adressen die ik gekozen had zouden beide niks door mogen sturen.

Updateje Ik heb het even getest met alleen mijn email adres en ja iedereen hier heeft weer gezellig een test afspraakje van me ontvangen :(

Bij het verwijderen. In princiepe lukt het me wel maar dan alleen als ik het via het outlook object doe. En dan moet je vanuit outlook toestemming geven om een thirt party dingen in je outlook te laten wijzigen. En dat is niet de bedoeling. Het moet ook werken als outlook dicht is. En bij het maken van de afspraak gebruikte ik nu nog safeitem.entryID om het ID van de afspraak in outlook op te vragen. Alleen dit werkt dus ook alleen maar als outlook open is.

[ Voor 10% gewijzigd door TwoR op 25-03-2005 11:20 ]


  • Captain Caveman
  • Registratie: Augustus 2003
  • Laatst online: 02-01 13:28
Ik zou in ieder geval eerst even de appointment na het aanmaken bekijken (eventueel met OutlookSpy),
dan hoef je ook niet weer je collegae lastig te vallen... Dus oItem.Display i.p.v. SafeItem.Send.
Als de appointment er op dat moment nog goed uit ziet, kan je ze voor het testen ook blokeren door ze in een Application.ItemSend event te cancelen... Op dat punt kan je hem trouwens ook weer display-en om te zien of er dan vreemde dingen bij staan.

Hoe doe je het verwijderen (code...)? En wat bedoel je precies met dat het wel moet werken als Outlook dicht is? Correct me if my wrong, maar volgens mij wordt Outlook (welliswaar niet zichtbaar) altijd opgestart als je het via ole aanspreekt.