Re: Font per vbs installieren



Hallo Bernhard,

Ich kann mir nur vorstellen, dass die bereits installierte Schriftart einen anderen Dateinamen verwendet:

Die Windows Schriftart hat zwei verschiedene Namen:
- Dateiname <== Dieser wird vom Skript geprüft
- Schriftartname <== Dieser wird in Windows angezeigt.
Wenn Du eine Schriftartdatei umbenennst kann es zu dieser Situation kommen. (Meldung usw...)

Stelle also sicher, dass die bereits installierte Schriftart denselben Dateinamen hat wie die zu installierende Schriftart.


Ich habe mir erlaubt, das untenstehende Skript noch etwas zu optimieren: 1. brauchst Du nicht zwei mal durch alle Schriftarten zu laufen und 2. kannst Du zum löschen das bereits vorhandene FileSystemObject (oFSO) verwenden.

Gruss
Gottfried


Bernhard Triller schrieb:
Hallo,
ich habe mir versucht das Script auf meine Bedürfnisse abzuandern. oFolderCopy ist fix. Und ich muss zuerst die alten Fonts löschen da sie schon existieren. Das geht soweit gut. Jedoch löscht er der allerersten Font nicht oder nicht ganz. Alle anderen danach jedoch schon. Deshalb werden alle bis auf den ersten installiert. auch kommt deshalb die Meldung hoch diesen Font zuererst zu deinstallieren. Was habe ich falsch gemacht? Danke für jegliche Hilfe!!! Gruß Bernhard <Script Start>
' ########################################### ' # installfont.vbs # ' # installs font file in windows fonts dir # ' # (c) 2007 by Gottfried Mayer # ' ###########################################

Dim oFSO, oApp, oFolderCopy, oShell Dim strFontsPath, strScriptPath

' Create needed Objects Set oFSO = CreateObject("Scripting.FileSystemObject") Set oShell = CreateObject("WScript.Shell") Set oApp = CreateObject("Shell.Application")



' Get Path of Windows Fonts directory strFontsPath = oShell.ExpandEnvironmentStrings("%WINDIR%") & "\Fonts"

' Get Folder Object of Fonts directory (i.E. C:\Scripts\FontsToInstall ) Set oFolderCopy = oApp.Namespace("K:\Update\WTS\Fonts")

' Check each Font if it already is installed


For Each oFont In oFolderCopy.Items
> If oFSO.FileExists(strFontsPath & "\" & oFont.Name) Then
> oFSO.DeleteFile(strFontsPath & "\" & oFont.Name)
> End If
If NOT oFSO.FileExists(strFontsPath & "\" & oFont.Name) Then ' Tell Explorer to copy the Font - this correctly installs it. oApp.Namespace(strFontsPath).CopyHere oFont End If Next

' Cleanup Objects Set oFolderCopy = Nothing Set oApp = Nothing Set oShell = Nothing Set oFSO = Nothing

<Script Ende>

"Gottfried Mayer" wrote:

Hallo Axel,

Ich hab mal so kurz ein Script zusammengesetzt, das die Schriftart installieren kann:
Wenn du einfach mit File.Copy vorgehst funktioniert es nicht, wenn du aber dem Explorer sagst, die Datei zu kopieren dann läufts (und er registriert die Schriftart auch korrekt.)
Um die Meldung "eine andere Version dieser Schriftart ist bereits installiert... blabla..." zu überspringen hab ich auch noch eine Überprüfung auf das Vorhandensein der Schriftart eingebaut:

Das Script benötigt einen Ordner "FontsToInstall" im Verzeichnis wo das Script liegt, da liegen alle zu installierenden Schriftarten drin.

.



Relevant Pages

  • Re: Font per vbs installieren
    ... Das von dir abgeanderte script bringt die Meldung (Uninstall the ... Font first) bei allen Fonts. ... dass die bereits installierte Schriftart ... Set oFSO = CreateObject ...
    (microsoft.public.de.german.scripting.wsh)
  • Re: Font per vbs installieren
    ... Font Directory zu kopieren ist ja nicht das Problem, aber den Font auch noch zu registrieren :-( ... Ich hab mal so kurz ein Script zusammengesetzt, das die Schriftart installieren kann: ... Das Script benötigt einen Ordner "FontsToInstall" im Verzeichnis wo das Script liegt, da liegen alle zu installierenden Schriftarten drin. ... Set oFSO = CreateObject ...
    (microsoft.public.de.german.scripting.wsh)
  • Re: Font per vbs installieren
    ... ich habe mir versucht das Script auf meine Bedürfnisse abzuandern. ... auch kommt deshalb die Meldung hoch diesen Font ... Set oFSO = CreateObject ... Ich hab mal so kurz ein Script zusammengesetzt, das die Schriftart ...
    (microsoft.public.de.german.scripting.wsh)
  • Re: Font per vbs installieren
    ... Komisch finde ich vor Allem, dass nur beim ersten Font die Meldung kommt, egal welche Schriftart verwendet wird. ... Was den Dateinamen betrifft habe ich folgendes versucht: Alle alten Fonts manuell deinstalliert, danach per script installiert. ...
    (microsoft.public.de.german.scripting.wsh)
  • Re: Schrift & Formatierungsproblem zw. Word 2000 und Office für Mac 20
    ... mit der Sie nahezu alle Dokumente erstellt ... Die Schriftart ist eine OpenType ttf. ... wenn man unter Windows diese Schriftart im Font ... Schrift in OSX, erscheint das Dokument mit seltsamen, indischen Zeichen ...
    (microsoft.public.de.german.office)

Loading