27. juni 2002 - 11:44 Der er 6 kommentarer og
1 løsning

Word VBA styles conversion

Jeg får ofte dokumenter skrevet af andre og som anvender alle mulige styles - endda på forskellige sprog. dem vil jeg gerne "rense" og kun anvende en foruddefineret style-set jeg har i en template. er der nogen der kender til metoder til at gøre dette enkelt.

jeg tænker på noget VBA i retning af hvis en skrift ser "sådan & sådan" ud skift til style "heading 1" eller simpelthen rense alle styles til en enkelt og så bygge op derfra
Avatar billede tubber Juniormester
27. juni 2002 - 19:15 #1
Tror det vil tage for lang tid, og kommer der en ny style så skal du ind og ændre det.....

Du må kunne lave noget med :
If minStyle <> docStyle then
  docStyle = minStyle

Kunne dog forestille mig, at du skal chekke skrift type, formatering, størelse osv. enkeltvis, men du vil kunne slippe for at chekke for hver eneste style du får ind, for de må enten være magen til din eller også anderledes.....

er dog ikke inde i vba....kunne forestille mig at det vil ligne det her noget

If docFont <> Arial then
  docFont = Arial
If docFontSize <> 12px then
  docFontSize = 12px
If docFontFormat <> Bold then
  docFontFormat = Bold

og så fremdeles........

men det er kun et bud, håber dog det kan hjælpe lidt :O)))

/Tubber
Avatar billede tubber Juniormester
27. juni 2002 - 19:17 #2
eller måske du kan lave det med :
If docStyle <> Heading1 then
  docStyle = Heading1
Avatar billede bat1234 Juniormester
03. december 2002 - 21:52 #3
Hej udviklingskonsulente, fandt du nogensinde en løsning på problemet?? Jeg står nemlig med præcist samme problem lige nu, og er MEGET interesseret i hvordan man kunne få det løst!! Vil evt. gerne give mange point for det! hilsen bat. Evt. mail mig på bat@abtranevej.dk
08. december 2002 - 11:36 #4
Nej - stadig ikke - jeg arbejder stadig på problemet evt. ved en eller anden kode algoritme der kan gøre det, men jeg er ikke god noktil at kode VBA og har ikke tid til at lære det ordentligt.
Avatar billede tubber Juniormester
08. december 2002 - 11:52 #5
Måske der er noget i det her :

Style, Copy Style Using Organizer:

Dim strThisDocument as String
strThisDocument = ActiveDocument.FullName
Application.OrganizerCopy Source:= _
  "C:\Program Files\Microsoft Office\Templates\Normal.dot", _
  Destination:=strThisDocument, Name:="[StyleName]", _
  Object:=wdOrganizerObjectStyles



Style, Set a Style:

Selection.Style = ActiveDocument.Styles("[StyleName]")
Avatar billede tubber Juniormester
08. december 2002 - 11:57 #6
Rendte lige over denne her:

' Declare variables
    Dim sThisTemplate As String
    Dim sTargetDoc As String
    Dim i As Integer ' Counter 1 - use for copying styles three times
    Dim iCount As Integer ' Counter 2 - use to loop copying of heading styles
    Dim rResponse As Variant ' can be vbMsgBoxResult in Word 2000 or later
' Error Handler set
    On Error GoTo NoDocument ' Call when no document is open.
' Define This Template and Target Document variables
    sThisTemplate = ThisDocument.FullName ' name and path of global template
    sTargetDoc = ActiveDocument.FullName 'generates error if no document open
' If any other errors, continue on
    On Error Resume Next
    rResponse = MsgBox(Prompt:="This command redefines your Body Text Style and" _
        & vbCrLf & "Heading Styles 1-9. Are you sure you want to do this?" _
        & vbCrLf & vbCrLf & "If you are not sure, answer 'No' and make a backup of your document." _
        & vbCrLf & "Then run the command to copy the styles again.", _
        Title:="Are you sure you want to redefine your styles?", _
        Buttons:=vbYesNo + vbExclamation)
    If rResponse = vbNo Then Exit Sub
    ' Copy Body Text and Heading Styles to Active Document
    ' Note that this requires exact style names
    For i = 1 To 3 ' copy styles three times to maintain linkages
        With Application
            .OrganizerCopy Source:=sThisTemplate, _
                Destination:=sTargetDoc, Name:="Body Text", Object:= _
                wdOrganizerObjectStyles
            For iCount = 1 To 9 'Copy heading styles 1-9
                .OrganizerCopy Source:=sThisTemplate, _
                    Destination:=sTargetDoc, Name:= _
                    "Heading " & iCount, _
                    Object:=wdOrganizerObjectStyles
            Next iCount
        End With
    Next i
    Exit Sub ' Skip error handler routine
NoDocument: ' Error Handler - Will be called if there is not an open document
MsgBox Prompt:="Sorry, this command is only available when you have a document open.", _
    Title:="No document open!", Buttons:=vbExclamation
End Sub
28. januar 2004 - 22:46 #7
opgivet..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester