はじめに
Word でアドインを作成することがあると思いますが、問題になるのは配布方法だと思います。
というのも、Windows 10 では、以下のフォルダにアドインファイルをコピーする必要があるからです。
- C:\Users[ユーザーID]\AppData\Roaming\Microsoft\Word\Startup
このフォルダは隠しファイルになっているし、階層も深いため、ユーザーにアドインファイルをコピーしてもらうのは難儀です。
この作業は、VBScript を使用すれば、インストール、アンインストールとも簡単に行うことができます。
今回は、当ブログで配布している「Word2003カラーパレット・改」を例にとって、VBScript による Word アドインのインストールとアンインストールのサンプルコードをご紹介します。
動作確認は、Microsoft 365 の Word で行っています。
なお、ファイルはShift-JISで保存してください。UTF-8で保存すると「終了していない文字列型の定数です」というエラーが発生します。また、実行前に Word を終了しておいてください。
Word アドインのインストール
Word のアドインを、%appdata%\Microsoft\Word\Startupにコピーするサンプルコードです。addInName と addInFileName をご自身の環境に合わせるだけで動作します。Word はこのフォルダにアドインをコピーするだけで、Word起動時にアドインを読み込むようになります。
なお、Word アドインは、このサンプルコードのインストーラーと同じフォルダにあるものとします。
On Error Resume Next Dim installPath Dim addInName Dim addInFileName 'アドイン情報を設定 addInName = "Word2003カラーパレット・改" addInFileName = "Word2003ColorPalletKai.dotm" IF MsgBox(addInName & " アドインをインストールしますか?", vbYesNo + vbQuestion) = vbNo Then WScript.Quit End IF Set objWshShell = CreateObject("WScript.Shell") Set objFileSys = CreateObject("Scripting.FileSystemObject") 'インストール先パスの作成 '(ex)C:\Users\[User]\AppData\Roaming\Microsoft\Word\Startup\[addInFileName] installPath = objWshShell.SpecialFolders("Appdata") & "\Microsoft\Word\Startup\" & addInFileName 'ファイルコピー(上書き) objFileSys.CopyFile addInFileName ,installPath , True Set objWshShell = Nothing Set objFileSys = Nothing IF Err.Number = 0 THEN MsgBox "アドインのインストールが終了しました。", vbInformation ELSE MsgBox "エラーが発生しました。" & vbCrLF & "実行環境を確認してください。", vbExclamation End IF
Word アドインのアンインストール
Word のアドインを、%appdata%\Microsoft\Word\Startup から削除するサンプルコードです。上記インストールのサンプルコードと対になります。addInName と addInFileName をご自身の環境に合わせるだけで動作します。
On Error Resume Next Dim installPath Dim addInName Dim addInFileName 'アドイン情報を設定 addInName = "Word2003カラーパレット・改" addInFileName = "Word2003ColorPalletKai.dotm" IF MsgBox(addInName & " アドインをアンインストールしますか?", vbYesNo + vbQuestion) = vbNo Then WScript.Quit End IF Set objWshShell = CreateObject("WScript.Shell") Set objFileSys = CreateObject("Scripting.FileSystemObject") 'インストール先パスの作成 '(ex)C:\Users\[User]\AppData\Roaming\Microsoft\Word\Startup\[addInFileName] installPath = objWshShell.SpecialFolders("Appdata") & "\Microsoft\Word\Startup\" & addInFileName 'ファイル削除 If objFileSys.FileExists(installPath) = True Then objFileSys.DeleteFile installPath , True Else MsgBox "アドインファイルが存在しません。", vbExclamation End If Set objWshShell = Nothing Set objFileSys = Nothing IF Err.Number = 0 THEN MsgBox "アドインのアンインストールが終了しました。", vbInformation ELSE MsgBox "エラーが発生しました。" & vbCrLF & "実行環境を確認してください。", vbExclamation End IF
おわりに
Word アドインファイルを配布するのは、なかなか面倒ですが、この記事で紹介した方法を使用することで簡単に配布(インストール)、配布中止(アンインストール)することができます。
ぜひ活用してください。
関連記事
Excel や PowerPoint のアドインのインストール記事です。