Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1516to1520
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

nicht installierte Schrift abfangen

nicht installierte Schrift abfangen
15.10.2016 19:06:27
Jens
Hallo Tüftler!
Beim kreativen erstellen der ganzen Userform's, Button's und Boxen
kam mir ein Gedanke ...
Was passiert eigentlich mit dem gesamten "Worksheet" wenn es auf einem WINDOWS PC
geöffnet wird und der verwendete Schriftfont nicht vorhanden ist.
Gerade bei 0815 Firmen PC ist ja oftmals alles mögliche drauf. Leider hab ich keine Glaskugel ...
Beispiel:
Bevor der kreative Designer seine geistigen Ergüsse an eine Druckerei weitergibt, sollten vorher alle Schriften im Dokument zu Pfaden umwandelt werden.
Sonst siehts beim Betrachter u.U. leicht kruselig aus.
So und nun zurück zum Excel Dokument:
Muss ich mich bei der Erstellung auf Grundschriften wie Arial, Tahoma, Calibri und Comic Sans MS beschränken, um einigermaßen Fehlermeldungsfrei zu bleiben?
Oder gibt es einen Trick wie man das abfangen kann und z.B.
alle Schriften die nicht gefunden werden, zwangskonvertiert in z.B.(siehe oben)
Danke für Eure Hilfe

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nicht installierte Schrift abfangen
16.10.2016 19:57:29
KlausF
Hallo Jens,
wenn Du auf ein spezifisches Aussehen fixiert bist sollte man schon die Standardschriften verwenden.
Unter dem Mac z.B. ist die Standardschrift die Lucida. Wenn ich Wert auf Kompatibilität lege dann
ändere ich das sofort auf Arial oder Verdana. Anderenfalls belegt Excel diese Zellen beim Öffnen einfach
mit der derzeit eingestellten Standardschrift. Das kann unangenehme optische Verschiebungen nach sich
ziehen (Zeilenumbrüche!). Man könnte sich vorher alle installierten Schriften zeigen lassen:
Sub SchriftenAuslesen()
Dim cnt As CommandBarControl
Dim intCounter As Integer
Application.ScreenUpdating = False
Set cnt = Application.CommandBars.FindControl(ID:=1728)
For intCounter = 1 To cnt.ListCount
With Cells(intCounter, 1)
.Value = cnt.List(intCounter)
'.Font.Name = cnt.List(intCounter)
End With
Next intCounter
Columns(1).AutoFit
Application.ScreenUpdating = True
End Sub
oder z.B. nach einem spezifischem Font fragen:
Private Function FontIsInstalled(sFont) As Boolean
FontIsInstalled = False
Set FontList = Application.CommandBars("Formatting").FindControl(Id:=1728)
If FontList Is Nothing Then
Set TempBar = Application.CommandBars.Add
Set FontList = TempBar.Controls.Add(Id:=1728)
End If
For i = 0 To FontList.ListCount - 1
If FontList.List(i + 1) = sFont Then
FontIsInstalled = True
On Error Resume Next
TempBar.Delete
Exit Function
End If
Next i
On Error Resume Next
TempBar.Delete
End Function

Private Sub Workbook_Open()
FontName = "Wingdings 2"
If Not FontName = True Then
MsgBox "Zur korrekten Darstellung müssen Sie die Schriftart " _
& FontName & " installieren !", vbExclamation, "Hinweis"
End If
End Sub
Ersetzen ginge in etwa so:
Sub SchriftartenErsetzen()
Dim rng As Range
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
For Each rng In wks.UsedRange
'If rng.Font.Name = "Verdana" Then
If rng.Font.Name "Arial" Then
rng.Font.Name = "Arial"
End If
Next
Next
End Sub
Gruß
Klaus
Anzeige
AW: nicht installierte Schrift abfangen
18.10.2016 00:02:44
Jens
Hallo Klaus,
vielen Dank für Deinen Vorschlag und Mühe.
Ich werde es mal in einer ruhigen Minute Testen.
Grüße, Jens

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige