[Excel2000]mailen vanuit een excel bestand sjabloon

Pagina: 1
Acties:
  • 100 views sinds 30-01-2008
  • Reageer

  • _Dune_
  • Registratie: September 2003
  • Laatst online: 23:17

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Topicstarter
Ik heb in mijn excel sjabloon een knop gemaakt met een stukje VBA code die er voor zorgt dat het excel bestand eerst wordt opgeslagen en vervolgens naar een vaststaand e-mail adres stuurd. Dit gaat allemaal goed. Maar, op het moment dat de ontvangende partij het excel bestand opslaat, vervolgens opend en inziet, maar niet opslaat vervolgens weer afslsuit verschijnt er eerst een melding met de vraag of je het bestand wilt opslaan hier op antwoord je nee. De tweede vraag die verschijnt gaat over de "circulatielijst" die in het bestand is opgenomen hier wordt gevraagd of het bestand weer verzonden moet worden naar waar het bestand vandaan is gekomen. Hoe kan ik dit voorkomen?

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub CommandButton1_Click()
    MsgBox ("stukje tekst")
    Dim bewaard As Boolean
        bewaard = Application.Dialogs(xlDialogSaveAs).Show
    If bewaard Then
    file_name = ThisWorkbook.Name
    Workbooks(file_name).HasRoutingSlip = True
        With Workbooks(file_name).RoutingSlip
            .Recipients = ("magazijn")
            .Subject = Blad1.Cells(5, 5).Value
            .Message = Blad1.Cells(4, 5).Value
        End With
    Workbooks(file_name).Route
    MsgBox ("De bestelling is verstuurd en zal worden verwerkt.")
    Else
        MsgBox "De bestelling is niet opgeslagen en zal daarom niet worden verzonden"
End If
End Sub

[ Voor 7% gewijzigd door _Dune_ op 27-01-2006 11:45 ]

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23:54
RoutingSlip is een bepaalde methode van mailen waarbij een bestand een tourtje door (bijv) een bedrijf aflegt. Als je in Excel je File->Send To bekijkt zie je (o.a.) mail recipient en routing recipient staan. Je code gebruikt routing, terwijl je mail nodig hebt.
Kijk in de VBA help eens naar SendMail, dat is het geval wat jij wilt gebruiken.
VBAhelp:
Example
This example sends the active workbook to a single recipient.

ActiveWorkbook.SendMail recipients:="Jean Selva"

  • _Dune_
  • Registratie: September 2003
  • Laatst online: 23:17

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Topicstarter
Ik heb je voorbeeld gebruikt, maar ik behoud helaas het zelfde resultaat. Er komt alleen bij dat ik mijn subject en berichtg in de mail niet meer kan gebruiken, zoals ik dat in eerste instantie deed.

P.s. Heb je dit uit de help van Excel zelf gehaald?

edit: Het is deels opgelost. Als ik het sjabloon (bestellijst) open en vervolgens op de betreffende knop klik, moet ik eerst het bestand een naam geven en opslaan. Vervolgens wordt automatisch het bestand verzonden naar het mail adres wat ik heb opgegeven in de VBA code. Nu sluit ik het bestand af en krijg ik als nog de vraag of ik het bestand wil verzenden naar mijzelf? Ik snap hier niets van? :'(

Als de ontvangende partij nu het bestand opend en weer sluit verschijnt de melding niet meer.

[ Voor 63% gewijzigd door _Dune_ op 26-01-2006 17:11 ]

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/


  • _Dune_
  • Registratie: September 2003
  • Laatst online: 23:17

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Topicstarter
Oke, ik ben even stom geweest. Het klopt dat het bestand de e-mail naar mijzelf wil verzenden ik heb namelijk voor test mijn eigen e-mail adres de VBA code opgenomen. Het komt er dus op neer dat het bestand niet door heeft dat er al verzonden is bij het afsluiten van het bestand. Iemand enig idee hoe ik dit kan oplossen?

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
Private Sub CommandButton1_Click()
    MsgBox ("stukje tekst.")
    Dim bewaard As Boolean
        bewaard = Application.Dialogs(xlDialogSaveAs).Show
    If bewaard Then
    ActiveWorkbook.SendMail recipients:="e-mail adres"
    MsgBox ("De bestelling is verstuurd en zal worden verwerkt.")
    Else
        MsgBox "De bestelling is niet opgeslagen en zal daarom niet worden verzonden"
End If
End Sub

[ Voor 49% gewijzigd door _Dune_ op 27-01-2006 11:44 ]

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

routingslip gebruiken om een bestand te versturen blijf ik een knullige oplossing vinden.

Mailen vanuit VBA kan op verschillende manieren:
- sendmail met als nadeel dat je geen bodytekst kunt opgeven; onderwerp kan wel
- als je outlook als mailer hebt geinstalleerd: via vba kun je de hele outlooklibrary aanspreken en gebruiken.
- door mapi te gebruiken.

Kies maar uit, en google eens wat voor codevoorbeelden. ;)

Dat je die meldingen nu ook hebt via sendmail is niet onlogisch: je hebt er tenslotte zelf een routingslip aan gehangen. Haal die eruit en je kunt gewoon verder.

offtopic:
Overigens verbaast het me wel dat iemand die toch al enige tijd hier rondkijkt nog steeds de editknop en vooral de [code][/code] tags niet gevonden heeft. Let erop dat je code tussen [code]-tags zet.


.

[ Voor 6% gewijzigd door Lustucru op 26-01-2006 21:02 ]

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


  • _Dune_
  • Registratie: September 2003
  • Laatst online: 23:17

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Topicstarter
Niesje schreef op donderdag 26 januari 2006 @ 21:02:
routingslip gebruiken om een bestand te versturen blijf ik een knullige oplossing vinden.

Mailen vanuit VBA kan op verschillende manieren:
- sendmail met als nadeel dat je geen bodytekst kunt opgeven; onderwerp kan wel
- als je outlook als mailer hebt geinstalleerd: via vba kun je de hele outlooklibrary aanspreken en gebruiken.
- door mapi te gebruiken.

Kies maar uit, en google eens wat voor codevoorbeelden. ;)

Dat je die meldingen nu ook hebt via sendmail is niet onlogisch: je hebt er tenslotte zelf een routingslip aan gehangen. Haal die eruit en je kunt gewoon verder.

offtopic:
Overigens verbaast het me wel dat iemand die toch al enige tijd hier rondkijkt nog steeds de editknop en vooral de [code][/code] tags niet gevonden heeft. Let erop dat je code tussen [code]-tags zet.

.
In mijn tweede stukje code staat toch geen routingslip meer. Daar gebruik ik alleen nog maar een sendmail commando naar één e-mail adres. In principe zou Excel dan toch geen melding meer moeten geven op het moment als ik het bestand verzonden heb en Excel weer sluit.

Dat ik eventueel alleen maar een subject mee kan geven is niet zo erg. Als ik helemaal niets meegeef dat wordt de bestandsnaam automatisch als subject gebruikt en dat is ook prima.

offtopic:
offtopic, ik wandel inderdaad al een poosje op GOT rond, alleen dan voornamelijk in de hardware delen van het forum. Dat ik nu in het software/programmeer deel verzeild ben geraakt komt doordat mijn huidige iopdrachtgever dit als klusje tussendoor heeft opgegeven. Ik heb alleen nog nooit wat met VBA gedaan en mijn tijd die ik hiervoor nog heb is zeer gelimiteerd, dus voor alle hulp ben ik een ieder zeer dankbaar. O ja, ik had mij al eens afgevraagd hoe je code kon weergeven, ik kende [ code ] en [ /code ] inderdaad nog niet, tot nu toe nog niet nodig gehad. In iedergavel hartelijk dank voor de tip :)

[ Voor 4% gewijzigd door _Dune_ op 27-01-2006 00:01 ]

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23:54
offtopic:
En nog meer offtopic: [ code=vb ] [ /code ] levert mooie kleurtjes op. Net als in de VBA editor. Dat brokstuk help kwam uit de VBA help, die erg nuttig is.
In VBA: F2. Zoek iets op, selecteer en F1. Een waarachtige bron van wijsheid (voor de nog niet heel gevorderde macrotyper iig)

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

_Dune_ schreef op donderdag 26 januari 2006 @ 23:54:
[...]
In mijn tweede stukje code staat toch geen routingslip meer. Daar gebruik ik alleen nog maar een sendmail commando naar één e-mail adres. In principe zou Excel dan toch geen melding meer moeten geven op het moment als ik het bestand verzonden heb en Excel weer sluit.
De routingslip staat afaik los van losse emailopdrachten. Dus ook al komt het adres toevallig overeen, dan nog blijft de circulatielijst onaangedaan. Dat wordt pas aangepast als je rondsturen of versturen naar circulatielijst kiest. Wat ik al schreef: sloop die eruit en je kunt gewoon verder.

;)

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


  • _Dune_
  • Registratie: September 2003
  • Laatst online: 23:17

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Topicstarter
Niesje schreef op vrijdag 27 januari 2006 @ 10:47:
[...]
De routingslip staat afaik los van losse emailopdrachten. Dus ook al komt het adres toevallig overeen, dan nog blijft de circulatielijst onaangedaan. Dat wordt pas aangepast als je rondsturen of versturen naar circulatielijst kiest. Wat ik al schreef: sloop die eruit en je kunt gewoon verder.

;)
Heel erg hartelijk dank voor je hulp Niesje en anderen natuurlijk, maar ik weet nu niet helemaal precies wat je bedoelt. In mijn tweede stukje code wordt toch niets meer gedaan met een routingslip of zie ik dat verkeerd?
offtopic:
(sorry voor mijn gebrek aan kennis in deze materie, ik voel mij dan ook een beetje als een vis op het droge en zou mij graag hier meer in verdiepen alleen voor nu is de tijd zeer beperkt helaas :'( )
Zou je mij kunnen aangeven wat of welke regel code ik er nog uit zou moeten slopen?

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/

Pagina: 1