Oppføring innstillingene i en mal

May 30  by Eliza

Andy lurer på om det er noen måte å "liste" innstillingene i en mal (marginer, fonter, tabulatorstopp, etc.). Han har sett massevis av informasjon om tilbakestilling til standard, men ingenting som vil fortelle ham hva innstillingene faktisk er. Han påpeker at å åpne en mal og ser på de ulike elementene er clunky og mindre enn omfattende.

Dessverre er det ingen enkel måte å gjøre dette i Word. Hovedgrunnen er fordi det ikke er noen fullstendig liste over hvilke innstillinger lagres i maler, og det store antallet av slike innstillinger kan være ganske skremmende. Det beste du kan gjøre er å lage en makro som vil undersøke de innstillingene du er interessert i og deretter vise dem.

Som et eksempel, bør du vurdere følgende suite av makroer:

Sub TemplateSettings ()
Dim templatePath As String
Dim fleName As String
Dim str As String
Dim STEMP As String

'Velg malen som skal åpnes
templatePath = Application.Templates (1) .Path
fleName = GetTemplateName (templatePath)
Hvis fleName = "" Then
MsgBox "Ingen mal valgt"
Exit Sub
End If

Application.Documents.Open (fleName)

str = ActiveDocument.Name & vbCr & vbCr

STEMP = "Annet"
Velg sak ActiveDocument.Sections (1) .PageSetup.PaperSize
Tilfellet wdPaperLetter
STEMP = "Letter"
Tilfellet wdPaperLegal
STEMP = "Legal"
Tilfellet wdPaperA4
STEMP = "A4"
End Select
str = str & "Papirstørrelse:" & STEMP

STEMP = "Landskap"
Hvis ActiveDocument.Sections (1) .PageSetup.Orientation = wdOrientPortrait Deretter
STEMP = "Portrett"
End If
str = str & "Orientering:" & STEMP & vbCr

str = str & "Marginene" & marginsStr & vbCr
str = str & vbCr & "Brukerdefinert Tab stopper" & UserTabStops & vbCr
str = str & vbCr & "Brukerdefinerte stiler" & userStyles

Application.Documents (fleName) Nært Savechanges: = wdDoNotSaveChanges

MsgBox str
End Sub

Funksjon GetTemplateName (templatePath As String) As String
Dim DLG Som Filedialog
Satt dlg = Application.FileDialog (_
FileDialogType: = msoFileDialogFilePicker)
Med DLG
.AllowMultiSelect = False
.InitialFileName = TemplatePath
.Filters.Clear
.Filters.Add "Maler", "DOT"
.Filters.Add "Alle filer", "*. *"
.FilterIndex = 1
.Show
Hvis .SelectedItems.Count> 0 Then
GetTemplateName = .SelectedItems (1)
Else
GetTemplateName = ""
End If
Avslutt med
Satt DLG = Nothing
End Function

Funksjons userStyles () As String
Dim svinesti Som stil
Dim s As String

s = ""
For Hver svinesti I ActiveDocument.Styles
Hvis ikke sty.BuiltIn Deretter
s = vbCr & sty.NameLocal & "" & sty.Description
End If
Neste svinesti
userStyles = s
End Function

Funksjons UserTabStops () As String
Dim s As String
Dim tbStop Som TabStop
Dim alg

alg = Array ("Venstre", "Center", "høyre", "Decimal", "Bar", "?", "List")
s = ""
For Hver tbStop I ActiveDocument.Paragraphs (1) .TabStops
s = s & vbCr & ptConvert (tbStop.Position) & _
"Alignment:" & alg (tbStop.Alignment)
Neste tbStop
UserTabStops = s
End Function

Fungere marginsStr () As String
Med ActiveDocument
marginsStr = _
"Venstre:" & ptConvert (.PageSetup.LeftMargin) & _
"Høyre:" & ptConvert (.PageSetup.RightMargin) & _
"Top:" & ptConvert (.PageSetup.TopMargin) & _
"Bottom:" & ptConvert (.PageSetup.BottomMargin)
Avslutt med
End Function

Funksjon ptConvert (p Som Enkeltrom) As String
ptConvert = Format (PointsToInches (p), "###. ##")
'Bruke følgende linje hvis du ønsker dimensjoner i centimeter
'PtConvert = Format (PointsToCentimeters (p), "###. ##")
End Function

Den viktigste makro at du starter med er TemplateSettings. Denne makroen, i sin tur, kaller de andre funksjonene i oppføringen. Det griper noen av de vanligste innstillingene i en mal (du får til å angi malen, selvfølgelig), og viser deretter disse innstillingene i en meldingsboks. Spesifikt, viser den malen navn, papirstørrelse, papirretning, marger, tabulatorer (for bare første ledd i malen), og brukerdefinerte stiler.

Det er tydeligvis mange, mange andre innstillinger som kan trekkes ut og vises. For eksempel vil du kanskje vite hva som kjennetegner hver stil er, snarere enn bare en liste over brukerdefinerte stil navn. Eller kanskje du vil vite hvordan du formaterer for innebygde stiler skiller seg fra standardformatering. Bare disse alternativene alene ville innføre en enorm mengde kompleksitet til makro. (Tenk at hver stil kan ha dusinvis av forskjellige formateringsinnstillinger og "default formatering" for innebygde stiler er definert av det som er lagret i Normal-malen.) For å inkludere slike tilsetninger, vil du bare trenger å endre makro å kompilere den ønskede informasjonen.

Legg merke til, så vel som den makro pakke som presenteres her er utformet for å være enkelt, til tross for sin lengde. Alt den gjør er å sette alle de utpakkede innstillinger til en streng og deretter vise at strengen i en meldingsboks. Hvis malen du ser på har mange, mange brukerdefinerte stiler, så er det mulig for strengen å bli ganske lang. Hvis det ender opp med å bli lengre enn 1024 tegn, så vil du få en feilmelding fordi MsgBox funksjonen kan bare vise en streng opp til den lengden. Hvis du forventer at strengen blir lengre, vil du ønsker å vise det i "biter" i flere meldingsbokser, eller rett og slett skrive strengen ut til en tekstfil som du senere kan undersøke.

WordTips er din kilde for kostnadseffektiv Microsoft Word trening. (Microsoft Word er den mest populære tekstbehandlingsprogrammet i verden.) Dette tipset (10117) gjelder for Microsoft Word 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Word (Word 2007 og senere) her: Oppføring innstillingene i en mal.