• 締切済み

Excelのセルに入力した日本語テキストのフォント

Windows7, office2013を使用しています。 セルに入力した日本語テキストのフォントについてですが、 1.セルに「あいう」と入力しています。 2.セルのフォントをArialに設定します(個々の文字もArialを当てています)。   Fontダイアログでセルのフォントも、個々の文字のフォントもArialになっていることを確認済みです。 3.cell.Characters(i, 1).Font.Nameで文字一つずつのフォント名を取得したところ、   Arialと返ってきました。 Arialフォントには日本語文字がないのに、「あいう」はちゃんと見えて、 代替フォントが当てられているということでしょうか? この実際に文字に当てているフォントを知る方法がありますでしょうか? ご教授いただけたら幸いです。 よろしくお願いします。

みんなの回答

  • okgoo3
  • ベストアンサー率74% (20/27)
回答No.3

Excel で言えばテーマのフォントで指定されている日本語文字用のフォントが使われてるんじゃないでしょうかね。 テーマで日本語用のフォントに英文用フォントを指定しちゃっている場合は Excel がターゲットとしている既定のフォントが使われる、とか。 実験 1 Windows 7, Excel 2010 (日本語フォントは MS P ゴシックの既定設定) で試した。 いくつかのセルに 「あいう」 と入力。 当然ながら MS P ゴシックが使われている。 そのうちの一つのセルのフォントを質問文にあるように Arial に変更。 「あいう」 の形が変化しない。 実験 2 同じく Windows 7, Excel 2010 でフォントのユーザー定義を行い、日本語フォントをメイリオに変更してブックに適用。 いくつかのセルに 「あいう」 と入力。 使われたフォントはメイリオ。 セルをすべて選択してフォントを Arial に変更。 「あいう」 の形が変わらない。 セルに 「あいう」 と入力。 新たに入力した日本語には 「MS P ゴシック」 が使われていた。 Excel 2010 はユーザーが指定したフォントと入力されている文字の処理に本当に困ってしまった場合には MS P ゴシックを使うのかもしれない。 Office 2016 では MS ~ フォントではなく游ゴシックなどが既定になっているようなので、Excel 2013 までの動作とは違うかもしれない。

erieru103
質問者

お礼

okgoo3 様 回答していただいて、ありがとうございます。 また、返信が遅くなって、すみません。 今、こちらの状況はchie65535 様へのコメントに書いてある通りですが、 何か情報があれば、またよろしくお願いいたします。

すると、全ての回答が全文表示されます。
回答No.2

追記。 因みに、ArialフォントにはUnicodeの全角文字をサポートした「Arial Unicode MS」と言うフォントもあり、このフォントは全角文字にも指定できます。 Arialという名前で、全角サポート有りのArialフォントがインストールされている可能性もあります。

erieru103
質問者

お礼

chie65535 様 回答していただいて、返信が遅くなってしまい、すみません。 私の動作環境についての説明不足になりますが、動作確認で使用したExcelは英語版で、日本語版でフォントを確認すると、日本語にはArialではなく、(私の環境では)MSPゴシックが当たっていました。 Arial Unicode MSフォントも入っていますが、これを指定していません。 Officeのデフォルト言語を変えると、当たるフォントがまた変わったりするようです。 Arial フォントを設定した時に、そのフォントにない文字を入力した場合は何フォントが選ばれるのかなどの説明が書いてあるマニュアルってありますでしょうか?

すると、全ての回答が全文表示されます。
回答No.1

Excelは、和文フォントを指定してあるセルに、英文フォントを指定すると、英数字のみ、フォントが入れ替わる仕様になっている筈です。 例えば、とあるセルに半角と全角が混じった文字列を入れ「HGS創英角ポップ体」を指定した後に「Arial」を指定すると、半角部分は「Arial」に、全角部分は「HGS創英角ポップ体」になります。 >3.cell.Characters(i, 1).Font.Nameで文字一つずつのフォント名を取得したところ、 >   Arialと返ってきました。 添付画像は、以下のマクロ Dim SStr As String SStr = "" For i = 1 To Len(Cells(1, 1).Value) SStr = SStr & i & " = " & Cells(1.1).Characters(i, 1).Font.Name & vbCrLf Next MsgBox SStr で、フォントが入り混じったセルの情報を表示した物です。 1~6文字目と7~9文字目で、異なるフォント名が返されています。 質問者さんが確認に使ったプログラムはバグっていると思います。 >代替フォントが当てられているということでしょうか? 違います。 「セル内に全角文字がある場合、そのセルに英数フォントを指定しても、全角文字のフォントは変化しない」ので、「オプション」の「全般」タブの「標準フォント」のフォントのまま、変化しません。 デフォルトでは標準フォントは「MSPゴシック 11ポイント」になっている筈です。

すると、全ての回答が全文表示されます。

関連するQ&A