Vraag & Antwoord

Anders (software)

Button maken die gelijk het mailadres met vaste waarde vult.

18 antwoorden
  • Hallo, ik kan een command button maken die aanklikbaar is in WordXP. Daardoor wordt Outlook opgestart, maar ik zou graag gelijk het e-mailadres ingevuld willen hebben. Weet iemand hoe ik dat het beste kan doen? Ik werk met OfficeXP.
  • Hoe werkt die commandbutton nu dan precies? Standaard werkbalkknop (ik heb in Word 2000 alleen een knopje MicrosoftMail die Outlook start omdat ik hem geinstalleerd heb staan, maar dat is nog geen berichtvenster) of zit er een VBA-procedure achter? En hoe ziet die eruit? Shell? CreateObject? Ik heb wel wat VBA-code liggen om te [url=http://www.paulsnip.nl/content/voorbeelden.asp?action=item&id=1645&grp=]mailen vanuit Word[/url], maar dat beantwoord je vraag niet.
  • Hoe ziet die knop eruit? Volgens mij kun je met de rechtermuistoets op de knop klikken, daarna Hyperlink selecteren en daar een email adres invoeren (mailto:blabla@bla.com)
  • Hallo, dat mailto commando kende ik al en daar kwam ik niet echt mee verder in de button, maar met die opmerking van die hyperlink heb je me wel op een ander idee gebracht en die werkt prima. Gewoon een hyperlink van een woord maken en daar het starten van een e-mail aanhangen. Ik kende deze oplossing wel voor een url of bladwijzer maar voor e-mail had ik dit nog niet gezien. Bedankt
  • Hallo, toch nog niet helemaal opgelost. :-? Met die url opent deze netjes Outlook en vult zowel het onderwerp als ook het emailadres in, maar het document wat meegestuurd zou moet worden als bijlage is weg. Dus moet ik toch weer terug naar de button. Paulus, het script wat gebruikt is staat hier onder: Private Sub CommandButton1_Click() Options.ButtonFieldClicks = 1 ActiveDocument.SendMail End Sub Gewoon met webwerkset toegevoegd.
  • Werkt die code achter de link die ik gaf niet? Ik kan hem hier niet testen omdat voor .Sendmail en .Route een geinstalleerde e-mailclient nodig is (wat outlook express blijkbaar niet is...) In dat voorbeeld wordt ActiveDocument.Route gebruikt en dan verstuurt ie de email meteen. Probeer daar eens ActiveDocument.SendMail te gebruiken, misschien opent ie dan alleen het berichtvenster zonder te versturen, weet ik zo niet.
  • Hallo Paulus, het eerst script heb ik geprobeerd, maar daar krijg ik elke keer vragen van "als u dit niet opgestart hebt is het misschien een virus, geef ja als u het wel opgestart hebt" Dergelijke vragen wil ik de gebruikers niet mee lastigvallen. Overigens wordt het document dan wel verstuurd. Bij de andere kant (mailontvanger) staat er wel bij dat het om een circulatielijst gaat??? Dat roept alleen maar vragen op. Die opmerking bij het verzenden zou ik niet willen hebben en die circulatielijst ook niet. Op welk punt bedoel je ActiveDocument.Route vervangen want ik ben niet zo thuis in VB. Optie 2 heb ik nog niet uitgeprobeerd. Zal kijken of me dat vandaag nog lukt.
  • Volgens mij kan je devervelende vragen voorkomen door een tijdelijk certificaat bij Verisign aan te vragen. Ik meen zelfs dat dit gratis kan. Een hoop gegis maar ik heb hier een tijd geleden ea overgelezen en ik heb het artikel niet bij de hand.
  • Hallo, optie 2 deed helemaal niets, dus ben ik verder gegaan met optie 1. Bij het versturen krijg ik ook nog de voorbeeldadressen o.a. adres1@domein.nl terwijl die niet in het script staan. Hoe zit dat eigenlijk?
  • Het voorbeeld voegt 2 ontvangers toe, ik denk dat de 2e nog op adres1@domein.nl staat, dat adres schudt ie niet toevallig uit zijn mouw ofzo :-) Het 2e voorbeeld maakt gebruik van een userform die in de bijgevoegde download te vinden is. Met dat 2e voorbeeld is het wat omslachtiger om het word-document als attachment mee te sturen (eerst opslaan en dan pad naar attachment opgeven). Met een routingslip is de bocht wat korter. Ik bedoel de laatste regel, waar nu staat Activedocument.Route dat je daar zet ActiveDocument.SendMail. Ik kijk straks wel even (achter een andere pc) of het met .SendMail ook werkt, maar je blijft de melding "... virus ..." houden als je de beveiliging hoog hebt staan denk ik. Ontkom je niet aan als je met macro's gaat werken/taken wil automatiseren.
  • Hallo, nou het script is een script van niks. ik bedoel er staat haast niks in, dus dat adres zou ik echt wel gezien hebben. Bij add.recepient staat echt alleen mijn adres en geen andere adressen. Sterker nog. Van de beheerder krijg ik de opmerking dat die niet naar adres1 en adres 2 kan sturen en dat 2 keer en naar mijn eigen adres staat er 5 keer in. Hier nog het script wat ik nu gebruik. Private Sub CommandButton1_Click() 'Options.ButtonFieldClicks = 1 'ActiveDocument.SendMail ActiveDocument.HasRoutingSlip = True With ActiveDocument.RoutingSlip .Subject = "test" .AddRecipient "mijn adres.nl" .Delivery = wdAllAtOnce End With ActiveDocument.SendMail 'ActiveDocument.Route End Sub
  • Dan denk ik dat je meerdere keren aan 1 document een routingslip hebt toegevoegd, begin es met een nieuw document.
  • Onderstaande procedure mailt het huidige document naar het bovenin opgegeven e-mailadres en zet de bestandsnaam in het vak Onderwerp. Als het bestand (nog) niet is opgeslagen, dan wordt dat gedaan en als dat de eerste keer is, dan kun je nog een bestandsnaam opgeven. [code:1:b5ab84b39d] Sub SendAsAttachment() Dim appOutlook As Outlook.Application Dim oItem As Outlook.MailItem Dim bStart As Boolean mailto = "adres@domein.nl" On Error Resume Next ActiveDocument.Save ' Controleren of Outlook gestart is Set appOutlook = GetObject(, "Outlook.Application") If Err <> 0 Then ' Outlook is niet gestart Set appOutlook = CreateObject("Outlook.Application") bStart = True End If ' Nieuw e-mailbericht maken Set oItem = appOutlook.CreateItem(olMailItem) oItem.To = mailto oItem.Subject = ActiveDocument.name oItem.Attachments.Add ActiveDocument.FullName oItem.send ' Loop 1 sec om Outlook de kans te geven ' het e-mailbericht te versturen s = Timer Do While Timer < s + 1 DoEvents Loop If bStart Then ' Afsluiten indien Outlook door code gestart is appOutlook.Quit End If Set email = Nothing Set appOutlook = Nothing End Sub [/code:1:b5ab84b39d]
  • Hallo, wanner ik deze code overneem dan krijg ik een compileerfout. Een door gebruiker gedefinieerde gegevenstype is niet gedefinieerd. Dim appOutlook As Outlook.Application
  • ... Maak daartoe een verwijzing in de Word-VBA-editor via het menu Extra - Verwijzingen door "Microsoft Outlook 9.0 Object Library" aan te vinken...
  • Die optie heb ik aangezet en dat werkt. Nu zijn er nog 2 dingen die ik graag anders zou willen. 1 Als je de opdracht geeft om te verzenden dan vraagt deze om een naam. Kan daar niet standaard een documentnaam staan, waar niet naar gevraagd wordt? 2 Die melding van Mogelijke virus ... is niet met het script te onderdrukken?
  • 1) Als je zelf het bestand opslaat, dan moet je hem ook een naam geven en wordt door de macro het bestand alleen opgeslagen (hij heeft immers al een naam). Als het bestand nog niet eerder is opgeslagen, dan moet je een bestandsnaam opgeven, anders is er ook geen bestandsnaam die (overigens) automatisch als onderwerp wordt ingesteld. 2) Nee
  • Voordat ik op zoek ging naar een andere oplossing gebruikte ik een knop die automatisch Outlook opstart. Het enige "nadeel" was dat de gebruiker daar nog een emailadres moesten invullen. Met deze oplossing dienen ze een bestandnaam op te geven/in te vullen en ze krijgen die vervelende opmerking in beeld dat ze mogelijk een virus hebben. Dan blijf ik toch liever bij de eerst optie, maar toch bedankt voor het meedenken.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.