Marco opslitsen documenten en opslaan op personeelsnummer

Status
Niet open voor verdere reacties.

Tamara84

Nieuwe gebruiker
Lid geworden
3 aug 2011
Berichten
3
Beste mede forumers,

Ik hoop dat jullie mij kunnen helpen. Binnenkort moeten mijn collega en ik weer salarisbrieven uitdraaien. Dit gaat om heel Nederland.... en dus om een paar 1000 mensen. Het mergen is geen probleem (voldoende ervaring mee inmiddels), maar nu is het probleem dat ik de totaalbestanden wil splitsen in losse documenten (dit lukt ook nog, dankzij dit forum ben ik een hele handige macro rijker), maar nu wil ik graag dat de marco de bestanden opslaat op personeelsnummer/ naam (personeelsnummer wordt gebruikt als kenmerk in de brief).

De marco die ik nu heb slaat de documenten wel apart op en noemt deze 1, 2, 3, maar dit moet dus op personeelsnummer. Daarnaast maakt deze marco 2 pagina's aan terwijl ik maar 1 pagina heb waar de brief opstaat. Het liefst wil ik ook dat de brieven opgeslagen worden op een shared folder.

Ik heb ooit wel informatica gehad, maar helaas bleek visual basic voor mij abracadabra en snap ik er tot op heden nog steeds weinig van. Alhoewel ik nu wel meer de programeercode begin te begrijpen, maar het wijzigen van een macro naar een marco die voor mij bruikbaar is zit er helaas niet in.

Misschien dat 1 van jullie me verder kunnen helpen? Bijgevoegd de programeercode die ik nu gebruik.

Code:
Sub Splitter()
' splitter Macro
' Macro created by Doug Robbins to save each letter created by a mailmerge as a separate file.
Dim Letters As Integer, Counter As Integer
Dim DocName As String, sDoc As String

sDoc = "Brief "

Letters = ActiveDocument.Sections.Count
Selection.HomeKey Unit:=wdStory
Counter = 1
While Counter < Letters
    DocName = sDoc & LTrim$(Str$(Counter))
    ActiveDocument.Sections.First.Range.Cut
    Documents.Add
    Selection.Paste
    ActiveDocument.Sections(2).PageSetup.SectionStart = wdSectionContinuous
    ActiveDocument.SaveAs FileName:=DocName, FileFormat:=wdFormatDocument, LockComments:=False, _
        Password:="", AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
        EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
        SaveFormsData:=False, SaveAsAOCELetter:=False
    ActiveWindow.Close
    Counter = Counter + 1
Wend

End Sub
 
Laatst bewerkt door een moderator:
Beste,

Volgesn mij is dit heel simpel op te lossen door DocName = sDoc & LTrim$(Str$(Counter)) aan te pasen naar iets dat personeelsnummer gebruikt.
Want ergens aan het eind van je code zie ik ActiveDocument.SaveAs FileName:=DocName.
Dat moet het zijn, dan is je probleem opgelost denk ik.
 
Beste,

Ik snap inderdaad dat er wat in de marco aangepast moet worden om de file name anders op te slaan. Maar het probleem is dat ik niet weet hoe ik dit moet aanpassen.

De brieven die ik moet printen zijn er tussen de 4500 a 5000 brieven die of op personeelsnummer of op naam moeten worden opgeslagen. Het personeelsnummer wordt als kenmerknr in de brief gebruikt.

De naam staat in het adreshoofd.

Enig idee hoe ik de macro kan aanpassen zodat het document opslaat op de naam die ik wil?

Groet,
 
Ik zou in ieder geval een moderator vragen om dit te verplaatsen naar het VBA forum of eventueel het Word forum. Visual Basic is namelijk niet hetzelfde als Visual Basic for Applications (ook wel macro's genoemd). De taal is in grote lijnen wel hetzelfde, maar het gebruik niet.

Vervolgens zou ik een bijlage maken van de brief zoals ie eruit ziet na afsplitsing (zonder persoonlijke informatie!!). Om te bereiken wat je vraagt moet je namelijk toegang hebben tot de juiste velden. Je hebt al aangeven in welke velden ongeveer de informatie staat, maar dat is in word van een afstand niet goed te bepalen.
 
Macro's hebben niets te maken met Visual Basic. Verplaatst naar Visual Basic for Applications.
 
Op deze pagina van de meer dan voortreffelijke website van GMayor staat een oplossing voor je probleem. Daar vind je ook een Add-in die het samenvoegen en splitsen nog veel mooier en makkelijker maakt...
 
Dit soort vragen is één van de redenen dat ik minder actief ben op dit forum. Gebruikers fcwiv en Michel (ltns) hebben je volgens mij een leuke aanzet gegeven. Het is leuk om mensen te helpen, maar Tamara zoekt een 'compleet' oplossing zonder zelf iets te hoeven doen. Als je daadwerkelijk salaris brieven voor een paar duizend man moet laten draaien, laat je baas dan een IT-er inhuren. Omdat het probleem niet zo heel groot is, heb je al een oplossing voor waarschijnlijk zo'n EUR 100,-. Met de omzet die een paar duizend man personeel genereren zijn dat kosten die te negeren zijn en kun je ook nog eens rekenen op support.
Wil je het zélf met wat hulp van hier doen dan is dat uiteraard prima, maar ga niet op een kant en klaar oplossing wachten...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan