Word sjabloon opslaan en mailen

nando64

Gebruiker
Lid geworden
13 aug 2009
Berichten
45
Beste leden,

Ik heb een Word formulier (sjabloon) waarin ik een opdrachtknop heb geplaatst. Via die opdrachtknop wil ik het sjabloon opslaan als een normaal Word bestand op een vaste locatie. De bestandsnaam moet worden gebaseerd op de inhoud van bepaald tekstvak. Tevens wil ik dan het opgeslagen bestand per email verzenden naar een vast emailadres. Ik heb meerdere pogingen gedaan om dit via online verkregen vba code te doen. Echter krijg ik het niet voor elkaar. Zou iemand mij aan de juiste vba code kunnen helpen?
 
Eerst een misverstand wegnemen dat ik bespeur in je verhaal: een Word sjabloon hóef je niet apart op te slaan als een Word document. Als je in die situatie komt, dan heb je de sjabloon geopend. En dat is nou net níet de bedoeling. Sjablonen zet je in de map met gebruikerssjablonen (als ze klaar zijn uiteraard) en daarna gebruik je een sjabloon door vanuit <Bestand>, <Nieuw> een nieuw document te maken waarbij je de gemaakte sjabloon gebruikt, en niet de sjabloon Normal.dotx (of normal.dotm, als er VBA in zit). Een nieuw document is per definitie een docx bestand.

Ik wil best even naar je sjabloon kijken, maar ik ga hem natuurlijk niet eerst zelf bouwen. Dus graag de betreffende sjabloon uploaden.
 
Ik heb toch liever het sjabloon. En je kunt dat uploaden als je het zipt.
 
Zal er naar kijken vandaag!
 
Ik heb er even naar gekeken, maar ik zie in je code dat je er een MailMerge van maakt. En ik mis een gegevensbestand. Is dat er?
 
Ik heb die code online verkregen, nu begrijp ik waarschijnlijk waar de foutmelding vandaan kwam. Er moet geen MailMerge van worden gemaakt en er is geen gegevensbestand. Als het sjabloon is geopend en ingevuld moet het via de opdrachtknop worden opgeslagen op een bepaalde plek en dan worden gemaild naar een vastgesteld emailadres. De bestandsnaam wil ik kopppelen aan de datum textbox en de textbox "Betrokkene". Voorbeeld bestandsnaam: "260512 Willem". Ik hoop dat je mij kunt helpen.
 
Ik zal de verzendcode voor je aanpassen. Ik neem aan dat je de sjabloon wel als sjabloon gaat gebruiken?
 
Klopt, het sjabloon blijf ik als sjabloon gebruiken. Zodoende kan de gebruiker altijd nieuwe gegevens invullen. Alvast bedankt voor het aanpassen van de code
 
Het nieuwe document is nog steeds niet de sjabloon; sjabonen hebben de extensie dotx of dotm (als er code in zit). Als je de sjabloon hebt (en op dezelfde manier kunt uploaden) dan is dat toch iets handiger.
 
Zal er morgen weer naar kijken!
 
De functie CleanFileName ontbreekt, die is waarschijnlijk bedoeld om ongeldige tekens uit de filenaam te verwijderen.
 
Beste AHulpje,

Dank voor toezending. Het werkt op 2 dingen na.
1 - Wanneer het bestand is opgeslagen en ik het wil openen krijg ik een foutmelding (zie bijlage)
2 - In de opgeslagen bestandsnaam krijg ik tussen de "datum" en de "naam" de tekst "FORMTEXT" te zien
 

Bijlagen

  • IMG_5739.webp
    IMG_5739.webp
    228,8 KB · Weergaven: 6
In Word VBA kan je een .dotm niet opslaan als een .docx.
Gebruik de template om een nieuw document te maken en sla die dan op.

Code:
savePath = "X:\DOCUMENT\Nees\Test\Planning\" & fileName & ".docx"
Set doc = Documents.Add(ThisDocument.Path & "\" & ThisDocument)
'--- opslaan als normaal Word-document ---
doc.SaveAs2 fileName:=savePath, fileformat:=12 'wdFormatXMLDocument

Die FORMTEXT komt uit de basename in je code.
 
Beste edmoor,

Ik heb een deel van de code vervangen door jouw code. Het opgeslagen bestand kan ik nu wel openenen zonder foutmelding. Echter zijn alle ingevulde velden leeg. Ik kan uit de code niet achterhalen hoe dat komt. Graag zou ik ook willen weten hoe ik kan voorkomen dat "FORMTEXT" wordt meegenomen in de bestandsnaam bij het opslaan.

Alvast bedankt.
 
Vul de velden in de template in voordat je op de knop drukt.
Sluit deze na het verzenden zonder op te slaan.
Dat kan je ook door de code laten doen.
Hoe je die FORMTEXT kan voorkomen weet ik zo niet, daarvoor ken ik Word niet goed genoeg.
Iemand anders wellicht.
Ook kan je eventueel de variabele basename uit de bestandsnaam weg laten.
 
Laatst bewerkt:
Terug
Bovenaan Onderaan