LoginSignup
10

More than 5 years have passed since last update.

VBScriptでフォントをインストールする

Posted at

とりあえずメモ書き程度ですが残しておこうかと。

背景と問題

Windows7環境において、フォントを管理者権限なしでインストールさせたいという要望が事の発端。
マイクロソフトのスクリプトセンターに、VBScriptでフォントをインストールするサンプルコードはあったのですが、一部の環境で上手く動作しないことが発覚。
考えられる手は尽くしたものの解決出来なかったため、ネット上を彷徨っていたところ、別の手段で実現しているサンプルコードを発見!
試してみたところ、MSのサンプルコードでは上手くいかなかった環境でも問題無く動作できたので採用に至りました。
そのときのメモ書きです。

サンプルコード

以下のVBScriptコードは、Cドライブ直下に置いてあるフォントファイル「fontfilename.ttf」を右クリックしてインストールする例です。

Dim objShell 
Dim objFolder
Dim objFolderItem 

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\")
Set objFolderItem = objFolder.ParseName("fontfilename.ttf")

objFolderItem.InvokeVerb("Install")

上記VBScriptを管理者権限で動かせば、フォントがインストールされます。

InvokeVerb("Install")

これがフォントを右クリックしたときに出るメニューの「インストール」に当たる部分。
応用すれば、xlsファイルを印刷したり、PDFを印刷したりも出来るようです。

詳細

この方法に限らずですが、管理者権限でスクリプトを動作させるための別の手段も必要です。
これについては、VB2005で解決させましたが、別の機会に…。

参考リンク

Hey, Scripting Guy! スクリプトを使用してフォントをインストールする方法はありますか
http://gallery.technet.microsoft.com/scriptcenter/b5acfc13-3c7b-4168-b9c9-792e005304e6

How do I install a font from the Windows command prompt?
http://superuser.com/questions/201896/how-do-i-install-a-font-from-the-windows-command-prompt

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10