Opmaakprofielen

Status
Niet open voor verdere reacties.

Kramer

Gebruiker
Lid geworden
12 jun 2002
Berichten
447
Beste forumleden,

Ik heb een x-aantal bouwstenen. Nu willen ze het lettertypcorps, regelafstand enz. aanpassen. Nu heb ik deze al in een sjablonen gezet. Maar nu kan je via Extra => invoegtoepassingen => beheer de opmaakprofielen van het sjabloon naar de bestaande document kopiëren.

Nu heb ik met macro opnemen dit opgenomen:
Code:
Sub test()
'
'
    ActiveDocument.UpdateStylesOnOpen = False
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="Geen lijst", Object:=wdOrganizerObjectStyles
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="Standaard", Object:=wdOrganizerObjectStyles
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="inspring 1", Object:=wdOrganizerObjectStyles
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="inspring 2", Object:=wdOrganizerObjectStyles
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="inspring 3", Object:=wdOrganizerObjectStyles
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="inspring 4", Object:=wdOrganizerObjectStyles
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="Kop 1", Object:=wdOrganizerObjectStyles
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="Kop 2", Object:=wdOrganizerObjectStyles
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="Standaardalinea-lettertype", Object:= _
        wdOrganizerObjectStyles
    Application.OrganizerCopy Source:= _
        "Netwerk_locatie\Nieuw brief\Normal.dot", Destination:= _
        "Netwerk_locatie\Test.doc", name:="Standaardtabel", Object:= _
        wdOrganizerObjectStyles
End Sub


Maar ik deze draai kan ik alleen maar het bestand test doen. Eigenlijk wil ik proberen om er een loop in te zetten dat hij vraagt naar welk map hij moet kijken. Daar alle *.doc opent en daar de nieuwe opmaakprofielen in zet, document opslaat en naar de volgende gaat. Totdat de macro alle *.doc bestanden heeft gedaan in de de desbetreffende map.

alvast bedankt voor het meedenken.
 
Het lijkt me handiger en voor de hand liggender de nieuwe opmaakprofielen in de normaltemplates vanm idere gebruiker te zetten.

Maak een worddocument met alle nieuwe profielen.
Zet in het document een thisdocument_open macro (of autoopen) die de profielen van het document naar de normaltemplate van de gebruiker kopieert en de gewijzigde normaltemplate opslaat.

iets in de geest van:
Code:
Private Sub Document_open()
  for each st in thisdocument.styles
    Application.OrganizerCopy Thisdocumenet.fullname, normaltemplate, st.name, wdOrganizerObjectStyles
  next
End sub
 
Laatst bewerkt:
Hoi snb,

Alle gebruikers krijgen een nieuwe normal.dot met de nieuwe opmaakprofielen.

Maar we hebben bijna een kleine 2.000 correspondentiebouwstenen staan. En deze moeten allemaal de nieuwe opmaakprofielen hebben. Nu ben ik handmatig bezig om alle worddocumenten te openen. De bouwstenen zijn stukken standaard tekst die worden ingevoegd in een brief en dergelijke.

Nu is het zo dat ik als ik in een brief (met de nieuwe opmaakprofielen) daar een stuk tekst invoeg met de oude opmaakprofielen dat de tekst niet aangepast word, maar de opmaak van de oude profielen laat zien. En dus aangepast worden naar de nieuwe profielen..

O ja de nieuwe en oude opmaakprofielen hebben dezelfde naam.
 
Alle gebruikers krijgen een nieuwe normal.dot met de nieuwe opmaakprofielen.

Daar zullen ze blij mee zijn. Alle macro's weg.

Maar we hebben bijna een kleine 2.000 correspondentiebouwstenen staan.

In 2000 Worddocumenten ?

Op welk sjabloon zijn de documenten met bouwstenen gebaseerd ?
Dan hoef je toch alleen maar dat sjabloon te wijzigen ? Klaar is Kees.
 
Daar zullen ze blij mee zijn. Alle macro's weg

Dat mogen ze bij ons niet. Dus zitter er ook geen macro's in.

In 2000 Worddocumenten ?

Op welk sjabloon zijn de documenten met bouwstenen gebaseerd ?
Dan hoef je toch alleen maar dat sjabloon te wijzigen ? Klaar is Kees.

Ze zijn niet gebaseerd op een sjabloon. Het zijn allemaal op zich zelf staande documenten. Maar alle losse documenten zijn wel voorzien van dezelfde opmaakprofielen.
 
Dan wordt het tijd daar verandering in te brengen. Maak van je bestand met stijlen een sjabloon (.dot). Dat kunnen we dan eenvoudig aan al die documenten hangen. Leuk voor later: aanpassingen hoeven dan alleen nog maar in dat sjabloon te worden aangebracht (want waarvoor hadden we ook alweer sjablonen ?).
Beetje typsch 200 medewerkers, office aanschaffen en dan juist geeengebruik maken van de faciliteiten on Office (sjablonen, macro's). Heeft er ooit wel eens iemand een cursus gevolgd ?
 
Zo'n bestand heb ik. Een huisstijl.dot. Nog niet helemaal compleet. Maar wel het grootste gedeelte.


Ik heb cursus erin gehad... Maar dit is nooit uitgelegd.

Kan je me misschien hiermee helpen????

PLEASE?????
 
stel je hebt een bestand met een bouwsteen: "E:\bouw\bouwsteen 0001.doc"
het stijlenbestand heet "E:\bouw\huisstijl.dot"

Dan kun je de stijlen aan het bouwsteenbestand geven met deze macro:
Code:
sub snb()
  with document.open("E:\bouw\bouwsteen 0001.doc")
    .attachedtemplate="E:\bouw\huisstijl.dot"
    .close -1
  end with
end sub

Test deze code (en het resultaat) eerst voordat we een (snellere) routine maken om alle bouwsteenbestanden op deze manier van stijlen te voorzien.
Maar roep dan wel eerst tot de systeembeheerder dat bij jou in ieder geval macro's moeten worden ingeschakeld.
 
Bedankt SNB,

Ik zal dit maandag proberen. En ik kan met macro's op het netwerk.
Maar de mensen die dit kunnen zijn wel beperkt.
 
Ik krijg een foutmelding:
Foutmelding 424 tijdens uitvoering object vereist.

Wanneer ik op foutopsporing klik verwijst hij hier naar:
Code:
With Document.Open("T:\Gregor\test.doc")

Ik weet zeker dat de verwijzing en de naam van het document klopt.
 
Dan maak je er toch gewoon van:

Code:
With Document[COLOR="red"][B]s[/B][/COLOR].Open("T:\Gregor\test.doc")
 
Stom

Stom

S niet gezien.

Kan je dit het beste in de huisstijl.dot zetten. Of in mijn normal.dot.

Ik heb hem nu in mijn normal.dot gezet. Want kan kan ik hem altijd zelf opstarten wanneer er misschien iets veranderd
 
Gekoppeld

Hoi Snb.

Hij opent het document, en sluit hem weer.

Wanneer ik de test.doc open en kijk bij Extra -> sjablonen en invoegtoepassingen, zie ik dat hij nu gekoppeld staat aan huisstijl.dot. Alleen heeft hij de opmaakprofielen nog niet aangepast. Ik denk omdat het vinkje bij Opmaakprofielen van document automatisch bijwerken niet aan staat.

Ik heb bij de code van jouw dit toegevoegd.
Code:
.UpdateStylesOnOpen = True

Dan wordt inderdaad de nieuwe opmaakprofielen toegepast.
 
Laatst bewerkt:
Loop

Hoi snb,

Vandaag eens aan het kijken geweest.

Ik heb nu dit gemaakt. Hij zoekt nu naar alle *.doc en opent deze.
Alleen koppelt hij nu niet de huisstijl.dot eraan vast. En hij zoekt nu alleen maar in de desbetreffende map.
Dus morgen een nieuwe dag nieuwe kansen om de 2 foutjes eruit te halen.
Sub huisstijl()

Dim Locatie As String
Dim Docs As String
'Kies een locatie
With Dialogs(wdDialogCopyFile)
If .Display() <> -1 Then Exit Sub
Locatie = .Directory
End With

'haalt de aanhalings tekens weg uit het pad
If Len(Locatie) = 0 Then Exit Sub

If Asc(Locatie) = 34 Then
Locatie = Mid$(Locatie, 2, Len(Locatie) - 2)
End If
'opent de documenten uit het geselecteerde locatie
'zet de huisstijl erin
'en bewaar het document
Docs = Dir$(Locatie & "*.doc")

Do While Docs <> ""
Documents.Open FileName:=Docs
UpdateStylesOnOpen = True
AttachedTemplate = "G:\word\huisstijl.dot"
'Close -1
If ActiveDocument.Saved = True Then ActiveDocument.Save
ActiveWindow.Close

Docs = Dir

Loop
End Sub

Misschien dat je me nog tips kan geven. Of een sneller methode.
 
Let eens goed op de punten en bestudeer in de VBEditor hulpbestanden het thema 'with... end with'

Code:
sub snb()
  c00="E:\OF\"
  c01=dir(c00 & "*.doc"

  do while c01<>""
    with getobject(c00 & c01)
      .UpdateStylesOnOpen = True
      .attachedtemplate="E:\bouw\huisstijl.dot"
      .close -1
    end with
    c01=dir
  loop
end sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan