Discussion:
Afdrukken van alle lettertypes
(te oud om op te antwoorden)
Nino
2004-09-12 15:45:48 UTC
Permalink
Beste mensen,

Heeft iemand soms een idee of het mogelijk is om in word
alle verschillende soorten lettertypes dat is
geïnstalleerd af te drukken?
Bedoeling is van op x aantal pagina's mooi allemaal de
soorten "Pa's wijze lynx..." onder elkaar te krijgen in
de verschillende lettertypes.

Alvast bedankt voor alle info.

Nino
jan
2004-09-12 18:47:32 UTC
Permalink
Nino,

Een mogelijkheid is onderstaand stukje VBA-code dat vermoedelijk doet wat je
wilt.
Plaats deze code in een module, voer hem uit en in het actieve document, dat
eerst leeggemaakt wordt, wordt een tabel gemaakt met in de eerste kolom de
tekst
"The quick brown ..." opgemaakt in het betreffende lettertype (18 punten) en
in de tweede
kolom de naam van het lettertype opgemaakt in Arial (10 punten)

Sub FontsTonen()
Dim i As Integer
Dim strTekst As String
Dim rng As Range
Dim tbl As Table
Dim intButton As Integer
'document leegmaken
intButton = MsgBox("Alle inhoud wordt uit " _
& "het document verwijderd" _
& vbCrLf & "Wilt u verdergaan?", vbYesNo, "Leegmaken")
If intButton = vbYes Then
Set rng = ActiveDocument.Content
rng.Delete
strTekst = "The quick brown fox jumps over the " _
& "lazy dog 1234567890;:,<_>+=-!?'"""
For i = 1 To Application.FontNames.Count
With rng
.InsertAfter strTekst
.InsertAfter vbTab
.Font.Name = Application.FontNames(i)
.Font.Size = 18
.Collapse wdCollapseEnd
.InsertAfter Application.FontNames(i)
.Font.Name = "Arial"
.Font.Size = 10
.InsertParagraphAfter
.Collapse wdCollapseEnd
End With
Next
'tekst naar tabel converteren
With ActiveDocument.Content.ConvertToTable _
(vbTab, , 2, , , , , True)
.Columns(2).AutoFit
.Columns(1).AutoFit
.Sort False, 2, wdSortOrderAscending
End With
Set rng = Nothing
End If
End Sub

Jan
a***@discussions.microsoft.com
2004-09-12 20:24:30 UTC
Permalink
Jan, bedankt voor de tip.
Ik ga dit zo snel mogelijk eens uitproberen.
-----Original Message-----
Nino,
Een mogelijkheid is onderstaand stukje VBA-code dat
vermoedelijk doet wat je
wilt.
Plaats deze code in een module, voer hem uit en in het
actieve document, dat
eerst leeggemaakt wordt, wordt een tabel gemaakt met in
de eerste kolom de
tekst
"The quick brown ..." opgemaakt in het betreffende
lettertype (18 punten) en
in de tweede
kolom de naam van het lettertype opgemaakt in Arial (10
punten)
Sub FontsTonen()
Dim i As Integer
Dim strTekst As String
Dim rng As Range
Dim tbl As Table
Dim intButton As Integer
'document leegmaken
intButton = MsgBox("Alle inhoud wordt uit " _
& "het document verwijderd" _
& vbCrLf & "Wilt u verdergaan?",
vbYesNo, "Leegmaken")
If intButton = vbYes Then
Set rng = ActiveDocument.Content
rng.Delete
strTekst = "The quick brown fox jumps over the "
_
& "lazy dog 1234567890;:,<_>+=-!?'"""
For i = 1 To Application.FontNames.Count
With rng
.InsertAfter strTekst
.InsertAfter vbTab
.Font.Name = Application.FontNames(i)
.Font.Size = 18
.Collapse wdCollapseEnd
.InsertAfter Application.FontNames(i)
.Font.Name = "Arial"
.Font.Size = 10
.InsertParagraphAfter
.Collapse wdCollapseEnd
End With
Next
'tekst naar tabel converteren
With ActiveDocument.Content.ConvertToTable _
(vbTab, , 2, , , , , True)
.Columns(2).AutoFit
.Columns(1).AutoFit
.Sort False, 2, wdSortOrderAscending
End With
Set rng = Nothing
End If
End Sub
Jan
.
DeeJee
2004-09-13 22:00:07 UTC
Permalink
Mooie routine! (nog handig ook)
Inderdaad, maar ik wil hierbij wel 2 goedbedoelde opmerkingen geven.
Zet in de code de mogelijkheid om de fonts in groepen in aparte documenten te zetten
want, en ik spreek uit ervaring, als er bv 800 fonts zijn geinstalleerd en die moeten dan
alle in één doc worden getoond, dan draait dat doc regelmatig in de soep.
En als er daarnaast ook nog eens een paar honderd op non actief staan die ook worden
getoond in hetzelfde doc (dit kan volgens mij niet met vba, tenzij Joost me op de vingers tikt)
mag je het helemaal vergeten. En ik zou ook de tabelrijen bij elkaar houden op dezelfde pagina.
Dit oogt mijn inziens mooier:-))
DeeJee
2004-09-15 00:30:18 UTC
Permalink
Als jij er zoveel hebt dan ben jij vast DTP-er? (dat zijn volgens mij de
enigen welke gebruik maken van zo'n keur aan Fonts)
Hoe kun je het raden Joost ;-)
Quote: "dit kan volgens mij niet met vba"
Maar ik heb geleerd VBA niet te onderschatten. Wat betreft het objectmodel
van Office/Word zul je naar alle waarschijnlijkheid gelijk kunnen hebben.
Maar onderschat de slecht beschreven bibliotheken niet! (waarnaar je verwijst)
De libraries zijn me genoeg bekend,
maar in vba kun je Display Context (hDC) niet gebruiken.
Blijkbaar heeft een form geen hDC identifier in vba,
evenals hWnd en beide worden in nogal wat graphische Api's gebruikt
zodat je in vba toch met serieuze beperkingen zit op dit gebied.
En ja OK, Word is geen DTP pakket,
maar als je gewoon bent om die Api's te gebruiken :-(
Persoonlijk lijkt mij dit voor Word ook niet interessant.
Yep, maar die Type1 library zoek ik dan ook niet om met vba te gebruiken
en is wel niet te vinden op de site van Adobe :-(
Nochtans volgens bepaalde bronnen zou die moeten bestaan,
maar de lokatie...?

DeeJee
2004-09-13 23:20:48 UTC
Permalink
--Off Topic--

Er is hier toch toevallig niet iemand die een link weet naar een library
om een preview te genereren van niet geinstalleerde Adobe type1 fonts?
Geen previewprogs dus, en een SDK zou fantastisch zijn.
Loading...