30. maj 2003 - 13:10Der er
13 kommentarer og 2 løsninger
Word97 skabelon virker ikke i Word XP
Hej jeg har fået lavet mig nogle word skabeloner til word 97 i sin tid, men efter skiftet til Win XP og Office XP/Word XP virker mine gamle skabeloner ikke mere. Jeg har lagt en af skabelonerne på nedenstående link. Er der en der kan fortæle mig hvordan jeg convetere skabelonen til WordXP??? så jeg kan få conveteret mine skabeloner. http://www.kp-elektro.dk/~lo/wordskabelon.dot Håber i kan hjælpe mig ud af et stort problem. På for hånd mange tak. Laurids
Ja den jeg har lagt op er sikkert nem at lave, men jeg har et par andre som er noget mer kompliceret. Jeg er ikke den helt store makro maker!!! Er der en der kunne lave en skabelon hvor et par af felterne virker så jeg kan se hvordan det skal laves ????
Det kan være fordi VB script sproget er skiftet mellem de to versioner, det gør Microsoft ca. hver anden gang, og så skal alle makroer og anden VB programmering laves om
Synes godt om
Slettet bruger
30. maj 2003 - 18:38#9
Hvis du ændrer FLETFORMAT til MERGEFORMAT, i dine Felter, tror jeg det virker. XP vil ikke længere godtage de danske termer, så det er det du skal være opmærksom på. Desværre tror jeg du kun kan gøre det manuelt. Har lige forsøgt med en søg og erstat, det fik jeg ikke til at virke. (Du skal vælge at vise koder, før du kan se navnet Fletformat).
Her er en kode der løser problemet. Den er lidt omfattende, men det er fordi den løser alle andre lignende problemer *SS*
Klip den ind i et modul i din normal.dot og køre den første makro (KonverterDanskeFeltkodeparametre) med din XP skabelon som det aktive dokument.
Public Sub KonverterDanskeFeltkodeparametre() Dim objDoc As Document Dim objComment As Comment Dim objComments As Comments Dim objEndNotes As Endnotes Dim objEndNote As Endnote Dim objFootNotes As Footnotes Dim objFootNote As Footnote Dim objShapes As Shapes Dim objShape As Shape Dim objTextRange As Range Dim objSections As Sections Dim objSection As Section Dim objHeaderFooters As HeadersFooters Dim objHeaderFooter As HeaderFooter
On Error GoTo ErrorHandler
If Application.Documents.Count < 1 Then Exit Sub ' if no documents then return
StatusBar = "Oversætter danske feltkodeparametre til engelsk......" Application.ScreenUpdating = False
' set bookmark to return to when finish With ActiveDocument.Bookmarks .Add Range:=Selection.Range, Name:="Return" .ShowHidden = True End With
Set objDoc = ActiveDocument
' convert fieldcodes in the main text area Call ConvertFieldCode(objDoc.Fields)
' convert comments Set objComments = objDoc.Comments For Each objComment In objComments Call ConvertFieldCode(objComment.Range.Fields) Next objComment
' convert endnotes Set objEndNotes = objDoc.Endnotes For Each objEndNote In objEndNotes Call ConvertFieldCode(objEndNote.Range.Fields) Next objEndNote
' convert footnotes Set objFootNotes = objDoc.Footnotes For Each objFootNote In objFootNotes Call ConvertFieldCode(objFootNote.Range.Fields) Next objFootNote
' convert textframes Set objShapes = objDoc.Shapes For Each objShape In objShapes If objShape.TextFrame.HasText Then Set objTextRange = objShape.TextFrame.TextRange Call ConvertFieldCode(objTextRange.Fields) End If Next objShape
' convert fieldcodes in the headers and footers Set objSections = objDoc.Sections For Each objSection In objSections ' loop through all headers in this section Set objHeaderFooters = objSection.Headers For Each objHeaderFooter In objHeaderFooters Call ConvertFieldCode(objHeaderFooter.Range.Fields) Next objHeaderFooter
' loop through all footers in this section Set objHeaderFooters = objSection.Footers For Each objHeaderFooter In objHeaderFooters Call ConvertFieldCode(objHeaderFooter.Range.Fields) Next objHeaderFooter Next objSection
Application.ScreenUpdating = True StatusBar = "Feltkodeparametre er nu oversat"
Exit Sub
ErrorHandler: MsgBox "Det er opstod en fejl under oversættelsen af feltkodeparametrene!" & vbCrLf & "Fejlnr: " & Err.Number & " " & Err.Description, vbCritical, "Fejl"
End Sub
Sub ConvertFieldCode(fldFields As Fields) Dim fldField As Field Dim txtOrgFieldCode As String, _ txtNewFieldCode As String
For Each fldField In fldFields txtOrgFieldCode = fldField.Code.Text
' Update fieldcode if it has been translated to english If txtNewFieldCode <> txtOrgFieldCode Then fldField.Code.Text = txtNewFieldCode fldField.Update End If Next fldField
Jeg har prøvet jeres forskellige foreslag, men de virker ikke. Hov-sa's retter en fejl, men giver en anden og rvm's for det til at se helt forkert ud. Jeg kan ikke lægge de andre skabeloner op da der er informationer i dem som ikke må lægges på internettet. Håber der er en der kan hjælpe ???? Tak for svare ind til nu.
Du kan eventuelt sende en kopi af en skabelon (eventuelt uden det fortrolige) til mig: rvejemad@csc.com - så vil jeg se nærmere på problemet. Jeg behandler selvfølgeligt dine skabeloner fortroligt (det er jeg vant til i mit arbejde som konsulent for CSC).
Jeg har lige hentet din wordskabelon og testet min makro på den - det virker fint, men...
Du skal starte med at afbeskytte skabelonen før du kører makroen. Når min makro køres vil fill-in felterne blive aktiveret, men det gør ingen ting - lad bare være med at udfylde dem.
Efter makroen er kørt er alle de steder, hvor der ståt "flet" (i felterne) være erstattet med "Merge" og skabelonen vil nu virke i XP - det gør den i-hver-tilfælde hos mig *S*
hvordan fik du det til at virke...jeg har den samme problem
Synes godt om
Ny brugerNybegynder
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.