[Access 2003] SendOutlookMessage

Pagina: 1
Acties:

  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Ik heb grote problemen met het automatisch attachen van een PDF vanuit Access. Ik krijg een foutmelding:

"Error in SendOutlookMessage (3): -1767882747 - Can't create file: Glope.pdf. Right-click folder you want to create file in, and then click Properties on the shortcut menu to check your pemissions for the folder."

Je ziet vervolgens echter helemaal geen map of iets dergelijks. Na lang zoeken, heb ik het vermoeden dat Outlook niet mag schrijven in de map waar de attachment geplaatst zou moeten worden. Iets met beveiliging dus. Googlen gaf geen soelaas, een pluim voor degene met de oplossing (en eeuwige roem!).

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Can't create file: Glope.pdf. Right-click folder you want to create file in, and then click Properties on the shortcut menu to check your pemissions for the folder.
Die foutmelding lijkt me kristalhelder, evenals de gegeven stappen die je moet ondernemen? Loop eens door je code en kijk welk pad je gebruikt.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Lijkt mij dat met 'the folder' de map bedoeld word waar de bijlage staat en dat daar de machtigingen voor Outlook of de huidige gebruiker niet goed staan? :)

  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Ja, het lijkt me ook dat de machtigingen voor die map niet goed staan. De map waarin de attachment staat is c:\glope.pdf, die map heb ik juist gekozen opdat deze niet veel problemen zou leveren.
Ik vermoed dat als Outlook wordt gestart en de attachment wordt bijgevoegd, dat Outlook de attachment nog eens kopieerd in een van zijn 'temp' folders. En ik denk dat deze machtigingen niet goed staan. Klopt dit????????

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


Verwijderd

Welk OS gebruik je?

  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Ik gebruik Windows XP, in combinatie met Office 2003...ik denk dus niet dat het te maken heeft met de schrijfrechten in de root van C...

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Iemand? Pls...Weer een dag niks kunnen doen op kantoor...

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Die tijd had je beter kunnen gebruiken door eens de VBA IDE open te trekken, boekje lezen over debuggen in VBA, kijken waar exact de fout optreedt, controleren of je als gebruiker wel een bestand kunt aanmaken in C:\ (default is dat namelijk niet zo), volledig pad controleren in je code, kijken of het bestand wél wordt aangemaakt en dan gestructureerd hier verder vragen. :)
ik denk dus niet dat het te maken heeft met de schrijfrechten in de root van C...
Denken is niet veel waard. Controleren die handel.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Nou, bedankt voor je antwoord, maar ik weet al veel van het probleem hoor.
De PDF file wordt namelijk wel gewoon gemaakt, alleen het zit 'm in het ATTACHEN van de PDF.
De regel waar het fout zit in:

code:
1
Dim objOutlookMsg As Outlook.MailItem


en dan
{toevoegen attachment]


code:
1
.Send


Bij de laatste regel code crasht ie.
Iemand enig idee in welke map (door Outlook) attachments worden gezet, vlak voordat ze worden gestuurd?

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Ik ben net nog even aan het debuggen geweest en bij deze code crasht ie:

code:
1
2
3
4
5
6
7
8
9
10
11
12
'* Add attachments
        If Not IsMissing(strAttachmentFullPath) Then
            If Trim(strAttachmentFullPath) = "" Then
            Else
                Set objOutlookAttach = .Attachments.Add(strAttachmentFullPath)
                If Err <> 0 Then Beep: _
                    MsgBox "Error in " & strProcName & " (3): " _
                        & Err.Number & " - " & Err.Description: _
                    Err.Clear: _
                    GoTo Exit_Section
            End If
        End If



Bij deze regel gaat het fout Set objOutlookAttach = .Attachments.Add(strAttachmentFullPath)


De attachment bestaat wel gewoon. Vervolgens gooit hij bovengenoemde foutmelding. Wie helpt mij uit de brand?

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Controleer of je als gebruiker wél een attachment kunt invoegen
Controleer de waarde van strAttchmentFullpath
Controleer de permissies op de tempfolder. Die laatste vind je in de registry onder (uit het hoofd, dus ongeveer) hkeyCurrentUser\software\microsoft\office\11.0\outlook\security\.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Aha. Dit gaat de goede kant op...

Het pad is geldig en verwijst naar een bestaand bestand.
De inhoud van het register (helemaal goed genoemd, overigens :) ), geeft de volgende waarden:

C:\Documents and Settings\Kika\Local Settings\Temp als Temp directory. Hier zit het probleem! Deze map zat helemaal vol met bestanden, waaronder het te verzenden bestandje in 99 versies. 100 versies kon hij kennelijk niet aan. Mijn dank is groot!

edit: Is het volgens jullie een idee om het bestandje na de routine te verwijderen via de code? Dat dit probleem dus niet nog eens voorkomt?

[ Voor 14% gewijzigd door warrie op 13-06-2007 18:05 ]

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Roep een cleanup routine aan voor je je functie uitstapt? :)
Of je verplaatst de pdfs naar een archieflokatie (ook niet onverstandig)...

[ Voor 39% gewijzigd door alt-92 op 15-06-2007 08:32 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Maar dan mag de file pas verwijderd worden, als de attachment ook daadwerkelijk verstuurd is, lijkt me. En als de routine in Access is afgesloten en dus de attachment file verwijderd, kan de e-mail nog open staan. Ben ik duidelijk genoeg?

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Dan verwijder je 'm niet maar verplaats je de PDF naar een digitaal-archief lokatie naar keuze zodat er alsnog een kopie is voor naslagwerk? :)

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Maar mist Outlook de file dan niet bij het daadwerkelijk versturen van de file?

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


Verwijderd

je moet het attachment natuurlijk laten staan zolang het niet is verzonden. je kan het eventueel in code verwijderen nà de send opdracht.

  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Ja precies. Maar hoe kan ik in Visual Basic zetten, dat zodra de gebruiker de "send" klikt in Outlook, dat het bestand dàn pas door Visual Basic code wordt verwijderd (want de methode opent een "new message" en verstuurd niet direct) ? Ik zou niet weten hoe die koppeling dan zou werken...

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


Verwijderd

ik heb het dan wel over het attachment in de speciale tijdelijke map van outlook, die normaal gesproken mee leeggemaakt wordt bij het legen van de internetcache. misschien is het inderdaad voldoende een kopie te maken van het attachment naar een andere folder. zo kan je deze code gewoon bij de reeds bestaande plaatsen.
anders zal je een event moeten aanspreken. er zijn wel enkele beschikbaar in outlook, zoals het Application_ItemSend event, maar dat wordt getriggerd voor het bericht verzonden wordt.
Pagina: 1