かねてよりマイクロソフトからのアナウンス通り、Windows7は2020年1月4日にサポートが終了する(Windows8.1は2023年1月10日にサポート終了)。
端的に言えば開発・販売元のマイクロソフトからセキュリティ更新プログラムの提供が行われなくなるので、これを機にWindows10にアップグレードする個人や法人は多いと思う。特に社内にあるパソコンのソフトウェアを管理している社内SE(もしくは管理者)には頭の痛い問題だが、実はWindows7からWindows10にアップグレードした場合、Wordだけ起動時にエラーが出てマトモに使えない事象が発生するケースがある。すべてのWordのバージョンを試したワケではないが、サポートが生きているWord2010以上のバージョン(Word2010、Word2013、Word2016、Word2019)では同様の問題が発生する可能性があると思われる。
私は個人的にこの問題で非常に困り果てて悪戦苦闘したが、何とかエラーを解決したので記事にしておこうと思う。
Word2010のエラー
私の場合はWindows7 Pro 64Bit版から、ある裏技を使って無料でWindows10 Pro 64Bitにアップグレードして使っている。
個人的に使っているのはOffice2010 Professional 64Bit版だが、なぜかWord2010を起動すると必ずこの順番でエラーが表示され、Word文書の編集が出来なくて困っていた。
よくあるパターンとして、Wordの場合はフォントキャッシュファイルが破損していたり、レジストリが破損するか不正でエラーになるケースがある。そこで次のサイトで教えているように、フォントキャッシュファイルを削除して再起動したり、Word関連のレジストリをバックアップして再構築したりしてみた。
通常、Wordが正常起動しない場合は上記のサイトにある手順で問題が解決するのだが、私の場合は問題が解決せず、そうこうしている内にWordで文書を編集する必要があり、途方に暮れたのである。
無論、Wordを含むOfficeソフトはWindowsUpdateで最新の状態にしており、何度チェックして確認しても、何ら問題がないと思っていた(そしてボクは途方に暮れる♬)。
フォント関係が問題か?
「変な裏技を使ってタダでWindows10にアップグレードしたからだろう?」と指摘される向きもあるかも知れないが、それにしてもWord2010だけ起動時にエラーが出て使えないのは、どう考えてもオカシイ。
他のExcelやPowerPoint等のOfficeソフトは問題なく使え・・・ん?そう言えば、フォントによって文字がちゃんと表示できるフォントと文字が空欄になって表示しないフォントがあるな??
( ゚д゚)ハッ! まさか・・・!?
試しにPowerShellを管理者権限で起動し、次のようにGet-Acl
とSet-Acl
のコマンドレットをパイプでつないでタイプし、アクセス権を設定して確認してみた。
get-acl c:\windows\fonts\arial.ttf | set-acl c:\windows\fonts\*.*
get-acl c:\windows\fonts\arial.ttf | set-acl c:\windows\fonts
get-acl c:\windows\fonts | format-list
Path : Microsoft.PowerShell.Core\FileSystem::C:\windows\fonts
Owner : NT SERVICE\TrustedInstaller
Group : NT SERVICE\TrustedInstaller
Access : NT AUTHORITY\SYSTEM Allow ReadAndExecute, Synchronize
BUILTIN\Administrators Allow ReadAndExecute, Synchronize
BUILTIN\Users Allow ReadAndExecute, Synchronize
NT SERVICE\TrustedInstaller Allow FullControl
APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES Allow ReadAndExecute, Synchronize
APPLICATION PACKAGE AUTHORITY\制限されたすべてのアプリケーション パッケージ Allow ReadAndExecute, Synchronize
Audit :
Sddl : O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464G:S-1-5-80-956008885-3418522649-1831038044-185
3292631-2271478464D:PAI(A;;0x1200a9;;;SY)(A;;0x1200a9;;;BA)(A;;0x1200a9;;;BU)(A;;FA;;;S-1-5-80-956008885-34185
22649-1831038044-1853292631-2271478464)(A;;0x1200a9;;;AC)(A;;0x1200a9;;;S-1-15-2-2)
※arial.ttfはWindowsXP以降のWindowsに標準で入っている英数記号フォント
試しにWord文書を開いてみると・・・
ビンゴ!( ´∀`)bグッ!
どうやらWindows7から10にアップグレードした際に、フォントが入っているC:\Windows\Fonts
フォルダ配下に正しくアクセス権が設定されていなかった(引き継がれなかった)ようだ。
これ以降、Word2010の起動時にエラーが出て使えないこともなく、フォントによって文字が表示されないという不具合も解消できた。
PowerShellを管理者権限で起動する方法
※Windows10でPowerShellを管理者権限で起動する方法が分からない人のみ参照
スタートメニューから起動する方法
Windowsボタンクリック→「Windows PowerShell」右クリック→「その他」→「管理者として実行」
検索ボックスから起動する方法
タスクバーの検索ボックスに「powershell」と入力(途中でも候補が表示される)。
「Windows PowerShell」右クリック→「管理者として実行」
おわりに
この「Wordのみ起動時にエラーが出て使えない」件に関しては、手を尽くして色々とやってみても原因が不明で、なかなか解決できなかった。それでも自宅でWord文書を編集することはあまりないので放置していたのだが、放置できない個人的な事情が発生し、苛立ちが最高潮に達した晩もある。これに時間が取られるぐらいならサブPC(Windows7)で作業してしまえ!と、しばらくサブPCで作業してもいた。
このGWで時間が取れたのと、パッ!と閃いたのがあって問題を解決することが出来たので、正直ホッとしている。多分この問題で困っている人も多いだろうし、中には「PowerShellを管理者権限で実行ってなに?」という人もあるだろうと思い、PowerShellの起動方法も書いておいた。
この記事が誰かの役に立てば幸いだ。
Warning: strpos() expects parameter 1 to be string, array given in /home/eware/dajya-ranger.com/public_html/wp-includes/compat.php on line 498
Warning: preg_match_all() expects parameter 2 to be string, array given in /home/eware/dajya-ranger.com/public_html/wp-includes/shortcodes.php on line 155
Array