こんばんにちわ。ことりちゅんです。
今日は游ゴシック体が嫌いで嫌いで仕方がない人のための、Excelから游ゴシック体を駆逐する方法 を、私が知りうる限りの情報を紹介します。
「游ゴシック体の方が大好きだよ!」って人が本記事にたどり着くことは無いと思いますが、気分を害する恐れがあるので冗談の通じない人※はブラウザの戻るでお帰りくださいませ。
※本質的な問題は「標準フォントが混在した状況」にあるため、将来的には游ゴシックに統一するのが現実的です。本書の真の目的はフォントを統一する際に生じる課題を理解するところにあります。従って游ゴシックに統一するサンプルコードも公開しています。
続編のおしらせ
2019/6/5 本記事で説明する設定を、全自動で行うスクリプトを公開しました。
自身をタスクスケジューラに登録して自動的に駆逐してくれるので、Officeのアップデートを受けても游ゴシックが勝手に復活することはありません。
自己責任で使いたいという方は下記の記事を御覧ください。
2019/7/21 本記事で記載した駆逐作業を、ワンクリックで実施できるVBAマクロを公開しました。
既存のレイアウトを破壊せずに游ゴシックや游明朝を取り除くことができます。
Office 2016~2019から、2010の人に受け渡ししてもレイアウト破壊が起こらないようにできます。
游ゴシック体とは
Excel 2016/Windows 10(8.1)から游ゴシック体が標準フォントとして採用されました。
Microsoftは読みやすくなった!と謳っていますが、果たして何割の人がそう感じているのか疑問です。
Windows 10のエクスプローラの游ゴシックなんて、ギザギザしてて録に読めたものではありません。
さらにOSからフォント変更の設定項目すら排除するという本気っぷり。とても正気とは思えません。
そんな同志諸君はMeiryo UIも大っきらい!!を使いましょう。(作者さん、素敵なソフトをありがとうございます。)
ちなみに游ゴシック体も、大きな文字だったら特に読みづらいということはなくて、普通に綺麗なフォントだと思います。
どうしても游ゴシックを使い続けたい人は、コントロールパネルから設定をすることで改善できるようです。(寝ログ - Windows10を使い始めてフォントが汚い時にやったら良いこと)
游ゴシック体の何がダメ?
この記事に訪れている方は既にお気づきかと思いますが、問題点を確認しましょう。
- 小さな文字が読みにくい
- パソコンによっては文章がスカスカになる
- 写真や図形が変形する
- 図の文字がはみ出す
- 游ゴシックの駆逐方法が難しすぎる
小さな文字が読みにくい
体感として游ゴシック体は、低解像度のモニタでは読みづらいです。
特に小さな文字は、すぐに薄くなったりギザギザになったりして、すぐに読めなくなってしまいます。
※読みやすさについては、文字の種類や、閲覧中のモニタ、個人差があるかもしれません。
(游ゴシックが読みづらい理由は http://mandel59.hateblo.jp/entry/2016/11/11/012654 とかを参考)
パソコンによっては文章がスカスカになる
これは、游ゴシックの入ったパソコンで作成したエクセルファイルを、入っていないパソコンで開いた時、MS Pゴシックに置き換えられることで、行の高さが変化するという現象の影響です。
つまり、何が起こるかというと、1ページ丁度に収まるように作成したエクセルファイルが、他のパソコンではスカスカになってしまう事があるのです。
そして、そのファイルを古いパソコン用で調整し編集して1ページピッタリに合わせてから、新しいパソコンで開くと今後は1ページに収まりきらないという問題も起こります。
写真や図形が変形する
行の高さが変わるという現象は、図形にも影響が出ます。
この現象は列は変わらず行だけが変化するので、図形は縦に伸び縮みします。
そして、この問題の恐ろしいところは、図の書式設定が無視されるところにあります。
まず、図形に縦横比を固定するにチェックが入っているにもかかわらず、変形します。
さらに、セルに合わせて移動やサイズを変更しないオプションを選択してある場合も、変形します。
つまり回避不能ってことですね。
例えば、2016(游ゴシック体)で作成したブックを、2010で開くとこのように潰れます。
更に、このブックに2010で正常な図形を配置し、2016に戻して開くとこのように伸びます。
この問題を防ぐには、行の高さを固定しておく(自動調整に任せない)か、はじめから游ゴシックのような環境に依存しやすいフォントを使わないことです。(世間のWindows10/11化が進むことで、解消されつつあります)
行の高さをMS Pゴシックの見た目で固定すると、游ゴシックになったときに文字が途切れるので注意が必要です。
図の文字がはみ出す
先に載せた図の通り、図形の大きさが変化することで、図の中に記述したテキストが途切れるといった問題も起こります。
改行も含む図形となると、二文目が完全に枠外にはみ出して途切れていることにすら気がつけない危険性もあります。
游ゴシックの駆逐方法が難しすぎる
後ほど駆逐方法について説明していきますが、游ゴシックは一発では完全に消えません。
手動修正で3箇所。完全にとなると自動設定で3箇所。
駆逐されていないブック間でコピーすると復活。
その上、一部の初期設定がアップデートにより何度でも復活する始末。
大抵の人は嫌々、游ゴシック体に移行することになるでしょう。
手動で游ゴシック体を駆逐する
游ゴシック体
を含むブックは、次の3点の作業によって(ほぼ)全て駆逐できます。
これで消えない場合は、セルの書式設定でフォントを游ゴシックを選択していると考えられます。
わざわざ自ら游ゴシックを選択するような奇人はいないと信じたいですが・・。
自分で作成するブックの場合は後ほど説明する方法で撲滅出来ますが、他人から貰う場合はそうも行かないので前提としてこの方法があることを知っておいて下さい。
2019/7/21 本項についてはPart3にて自動化VBAを公開しています。
1. セルのスタイルを変更
手順
リボンのホーム → スタイル → セルのスタイル → 標準を右クリックして変更
を開いてフォントをMS Pゴシック
に変更
効果
次の箇所がMS Pゴシック
に変わります。
- セルのフォント
- セルの見出し(列番号ABCとか、行番号123)のフォント
2. テーマを変更
手順
リボンのページレイアウト→テーマ→フォント
の欄をOffice 2007 - 2010
に変更
効果
次の箇所がMS Pゴシック 本文
に変わります。
- シェイプ等の図形のフォント
3. 不要なセルのスタイルを削除
ある特定の順序で操作すると、1・2の設定をすり抜けて游ゴシック体
が生き残ることがあります。
手順
リボンのホーム → スタイル → セルのスタイル → 標準2 等 を右クリックして削除
原因
たとえば、1が適用済みのブック(Excel 2010で作成したブック)に、Excel 2016で作成したブックのシートをコピーした時に発生します。
行き先のブックに同一のスタイルがなかったがために、セルのスタイルが増殖するようです。
効果
標準2
を消すと自動的に標準
へ切り替わる仕様らしいので、消してしまうだけでOK
まったくもう、游ゴシックは困ったちゃんですねー
ところで、大量のシートを取り込んだりしていると、スタイル定義の量が凄まじいことになる場合があります。
大量のスタイルを一個一個消すのは面倒です。
そんな時は、次のマクロを実行するとセルのスタイルが全滅するので楽ちんです。
※デフォルトで付いているセルのスタイルも含めて軒並み消去されるので、消えて困る人は使わないように!
Sub スタイル定義全削除() Const PROC_NAME = "スタイル定義全削除" Dim i As Long Dim before As Long Dim after As Long On Error Resume Next before = ActiveWorkbook.Styles.Count For i = before To 1 Step -1 ActiveWorkbook.Styles(i).Delete Next after = ActiveWorkbook.Styles.Count On Error GoTo 0 MsgBox "削除されたスタイル定義数:" & (before - after) & "/" & before, _ vbOKOnly + vbInformation, PROC_NAME End Sub
游ゴシック体を撲滅する
さて、ここからは新たに游ゴシック体を生み出さないための方法を説明します。
毎回毎回、前述の作業を繰り返すのは嫌ですからね。
せめて自身が生み出すブックくらいは、游ゴシック体
の発生を抑えましょう。
そこで、抑えるべきポイントは3箇所あります。
2019/6/5 本項についてはPart2にて自動化スクリプトを公開しています。
1. 新しいブックの作成時の既定のフォントを変更
手順
誰でもすぐに対策できる最も簡単な方法です。
Excelのオプション → 基本設定 → 新しいブックの作成時 → 次を既定のフォントとして使用
の欄をMS Pゴシック
に変更
結果
- Excel上で作成したブックに限って、1. セルのスタイルを変更の操作の手間が省けます。
- つまり、2. テーマを変更作業は別途行う必要があります。
- また、エクスプローラ上で新規作成したブックには適用されません。
- 一部のUI(数式バー等)の游ゴシックが駆逐できます。
- マクロで新規ブックを作成して保存するようなマクロを扱う人は、この設定がしてあるかどうかで行の高さが変わりますから実行結果に大幅に差がでます
2.新規ブック用のテンプレートを変更
手順
ちょっと面倒な作業があるので、PC中級者向けです。
詳しい操作はOffice TANAKA - Excel 2016の標準フォントをMS Pゴシックにするが分かりやすく解説されておりますので、分からない方はこちらをご覧ください。
まず新規ブックを開いて、1.セルのスタイルを変更と2. テーマを変更を済ませた状態にして下さい。
名前を付けて保存でファイルの種類をExcelテンプレート(*.xltx)を選択し、
%appdata%\Microsoft\Excel\XLSTART\Book.xltx
をファイル名の欄にコピペしてEnterすると保存されます。 コピペ出来ない人はファイル名に%appdata%
を入力してEnterすると、所定のフォルダにジャンプできるので便利です。(※Windows基本奥義です) 尚、C:\Program Files (x86)\Microsoft Office\root\Office16\XLSTART\Book.xltx
でも可です。
結果
設定ができたら一度エクセルを完全に終了して、新たに立ち上げてみて下さい。Ctrl+Nも是非。
- Excel上で作成したブックに限って、1. セルのスタイルを変更と2. テーマを変更の操作の手間が省けます。
- つまり、2を実施出来る人にとっては1. 新しいブックの作成時の既定のフォントを変更のメリットは数式バー等のUIの変更だけです。
- また、エクスプローラ上で新規作成したブックには適用されません。
3.新規作成の変更
1と2ではエクスプローラ上で新規作成したブックには適用されません。と書きました。
何だかんだでEverythingで任意のフォルダに飛んでから、そこにブックを作成するというスタイルが好きな私は、これも絶対に対策したいところです。
しかしながら、新規作成の書き換えはレジストリ編集を伴うため、PC操作に慣れた人だけが行って下さい。
つまりはコレですね。
手順
まず新規作成に登録したいエクセルブック(前項のxltxを)EXCEL12.XLSXという名前で保存したものを準備して下さい。
次にWindowsの新規作成というシステムを知る必要があります。
新規作成を制御するレジストリキーの指定方法が数種類あります。
- REG_SZ NullFile ・・・空っぽのファイルを作成する
- REG_SZ Data = "{\rtf1}"等・・・このデータでファイルを作成する
- REG_SZ FileName = "ファイル名"・・・記載されたパスのファイルをコピーする
このうち、メモ帳(.txt)やビットマップ(.bmp)等は1、リッチテキストファイル(.rtf)は2、エクセル(.xlsx)やアプリ独自のファイル形式は3が採用されている事が多いです。
そういうわけで、xlsxファイルの保存場所を知らなければなりません。
まあここでは答えを言うのですが、デスクトップ版のExcel 2016 32bit版の場合、保存場所はC:\Program Files (x86)\Microsoft Office\root\VFS\Windows\SHELLNEW\EXCEL12.XLSX
です。
つまり、ここのファイルを上書き保存すればOKです。
但し権限がーーーと怒られるので「続行」を押して強引に上書き保存しちゃって下さい。
結果
- エクスプローラ上で新規作成した場合に限って、1. セルのスタイルを変更と2. テーマを変更の操作の手間が省けます。
下記のサイトでも解説されてましたので、わからないひとはこちらもご覧ください。
Excel 2016でデスクトップ右クリック及びExcelメニューの新規作成で作成される新規ファイルのカスタマイズ方法
ですが
これで満足しちゃいけません。
実はOfficeのアップデートでリセットされます。
という訳で、
4. 設定を自動修復する
PCが起動されるたびに、所定のフォルダのファイルを上書きしちゃいましょう。
まずはC:\Program Files\Excel2016FontChange\
を作り、この中にBook.xltx
とEXCEL12.XLSX
と次のコードを記述したExcel2016游書体削除.vbs
を保存します。
なお2で例に出したパス%appdata%\Microsoft\Excel\XLSTART\Book.xltx
の方は%appdata%の処理が面倒なので、ProgramFilesの方を触ります。
繰り返しますがExcel 2016とOffice365の32bit版で検証しています。
Set fso = CreateObject("Scripting.FileSystemObject") CurPath = fso.getParentFolderName(WScript.ScriptFullName) & "\" ShellNewPath = "C:\Program Files (x86)\Microsoft Office\root\VFS\Windows\SHELLNEW\" XlStartPath = "C:\Program Files (x86)\Microsoft Office\root\Office16\XLSTART\" xlsxFile = "EXCEL12.XLSX" xltxFile = "Book.xltx" fso.CopyFile CurPath & xlsxFile, ShellNewPath & xlsxFile, True fso.CopyFile CurPath & xltxFile, XlStartPath & xltxFile, True
その後コマンドプロンプトを管理者として実行し、次のコマンドを実行します。
※ちなみにWindowsキー→cmd→Shift+Enterが管理者としてコマンドプロンプトを最速で起動する操作かな?
schtasks /create /tn "Excel2016FontChange" /tr "cscript \"C:\Program Files (x86)\Excel2016FontChange\Excel2016游書体削除.vbs\"" /sc onlogon /rl highest /F
これでタスクスケジューラにExcel2016FontChange
という名称のタスクが登録され、パソコン起動時にvbsが実行されて2つのファイルを常に更新してくれるので、ExcelがアプデされたらPCを再起動すると復活です。
ちなみにvbsを任意のタイミングで実行したい場合は、管理者として実行するためにコマンドプロンプトから呼ぶなりバッチファイルを作るなりして下さい。
おまけ
マクロ有効ブックを新規作成に追加する
VBAerの我々は、コンテキストメニューの新規作成からマクロ有効ブック(*.xlsm)を作成したいです。
先の要領でついでに作っておきましょう。
EXCEL12.XLSXを名前を付けて保存でEXCEL12.XLSMを作成
C:\Program Files (x86)\Excel2016FontChange\
に保存次のコードをvbsに追記
xlsmFile = "EXCEL12.XLSM" fso.CopyFile CurPath & xlsmFile, ShellNewPath & xlsmFile, True
-
reg add "HKEY_CLASSES_ROOT\.xlsm\Excel.SheetMacroEnabled.12\ShellNew" /v FileName /t REG_SZ /d "C:\Program Files (x86)\Microsoft Office\Root\VFS\Windows\ShellNew\EXCEL12.XLSM" /f
ちなみに、Excel2003互換ブックを新規作成に登録したい時も同様です。
従来のHG 丸ゴシック等のフォントはどこに消えたのか
フォントの話題に関連して、HG 丸ゴシック M-PROはどこに消えたのですか?という問い合わせが多発しているので記載しておきます。
昨今のOfficeからは同梱されなくなりました(?)がマイクロソフトのサイトからダウンロードが可能です。
Office 更新プログラム: Microsoft Office JIS90 互換フォント
フォントを JIS90 フォント環境として維持しシステムを運用したいお客様のために提供いたします。
ダウンロードDirectX End-User Runtime Web Installer Close windowDirectX End-User Runtime Web Installer Microsoft Office JIS90 互換フォントは Microsoft Office に含まれている
HG ゴシック E, HG 明朝 E, HG 丸ゴシック M-PRO, HG 創英角ゴシック UB, HG 創英角ポップ体
逆に古いExcelで游ゴシックは使えないのか
わざわざ古いOfficeで游ゴシック体を使いたいという変人はいないと思いますが、一応関連情報として記載します。
こちらもマイクロソフトのサイトからダウンロードが可能です。
游ゴシック 游明朝フォントパックは Microsoft Office 2016 に含まれている游ゴシック 游明朝フォントを Microsoft Office 2010/2013 用に提供します。
ちなみにコレ、Officeがインストールされているかどうかは関係ありません。
Office 2007やOffice以外のソフトにも反映されます。ライセンス的にどうなのか知りませんが・・。
PDFやDocuWorksが文字化けする
実際にはOffice 2010なんかより、DocuWorksの方が問題です。
実は游ゴシックフォントがインストールされていないと、
游ゴシックを使ったDocuWorksが文字化けする
ため、Windows 7/8の人は導入しておかないと、新しいPCで作成されたデータを貰った時に大変なことになります。
PDFの場合は埋め込みフォントがあるため大丈夫ですが、もし埋め込みフォントにしていない場合、同様に文字化けする恐れがあります。
※DocuWorks 7.1で確認した現象。最新版では改善しているかもしれません。
参考資料
Office TANAKA - Excel 2016の標準フォントをMS Pゴシックにする
Excel 2016でデスクトップ右クリック及びExcelメニューの新規作成で作成される新規ファイルのカスタマイズ方法
Meiryo UIも大っきらい!! (No!! Meiryo UI)
おわりに
長年引き継がれてきたエクセルを使い続ける場合、行の高さや列の幅が違うだけでレイアウト崩壊が起きて大損害を招きます。
Excel 2010のサポートが切れたためバージョン混在のトラブルは減っていくものと思いますが、過去のエクセルファイルともこの先10年は付き合うことになるでしょう。(未だにxls形式が生き残っていることを考えると下手したら20年くらいは・・・)
バージョン違いのエクセルブックをマージする場面も増えると思います。
そんなとき素早く游ゴシック体を駆逐できるように、しっかりと身につけておきましょう。
※これらの問題の本質は、バージョン違いでフォントが変更されてしまうことであり、必ずしも「游ゴシック体」に問題があるとは限りません。「今後はMSゴシック体を駆逐して游ゴシック体に統一すべき」という考え方もあります。
以上
続編
自動化スクリプト・マクロ
GitHubにて公開中
何か御座いましたらコメント欄、またはTwitterからどうぞ♪
それではまた来週♪ ちゅんちゅん(・8・)