FC2ブログ

Excelじゆうちょう

Excelのお絵描きツール『りっぷ2(りっぷつぅ)』のサポートページ、まずは「はじめに」をご覧ください。 [NewEntry] [Admin]

記事更新カレンダー

10 « 2018-11 « 12
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

やたらに多いカテゴリ

比較的新しい記事

新しいコメント

ありがたいブログ拍手

拍手コメント一覧(拍手はしない)

さみしいトラックバック

申し訳ないプロフィール

申し訳ない

管理人  [ 申し訳ない ]

pxivもやってます
リンクの一番上からのぞきに来てください
※閲覧にはユーザー登録が必要です

RSSってなんぞ?

広告は消せないらしい

FC2Ad

        --------       スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

        2011-03-24       列の文字幅一覧

このカテゴリ 久しぶりですね、簡単におさらいしましょう。

セルの縦幅は、ポイントで設定します。
ポイントは、Windowsのフォントサイズ(DPI)と組み合わせてピクセルと相互に変換できます。
詳しい解説は割愛しますが、デフォルトの100%は96DPIで「ポイント / 96 = ピクセル / 72」の関係があります。
上の式を変形すれば、ピクセルとポイントを相互変換できます。
※72の値は定数と覚えましょう

ポイント = ピクセル * 72 / 96
ピクセル = ポイント * 96 / 72

これにより、Windowsのフォントサイズが変わればピクセルの値もつられて変動してしまいます。
Windowsのフォントサイズはマクロで取得できますが、これもここでは割愛します。
今回の肝はセルの幅を設定するもうひとつの単位、文字幅です。

セルの文字幅とは、Excelのブックごとに設定される標準のフォントの半角数字「0」のポイント数を意味します。
例えば、文字幅が8.38のセルがあるとすると、そのセルにはフォントを変更していないデフォルト状態の半角数字「0」が8.38文字分きっちり収まります。
さらに、この文字幅には余白と実幅があって、単純に「セルの文字幅 = 標準の文字幅 * 文字数」とはなりません。

↓HG丸ゴシックM-PRO、フォントサイズ11、太字なしの場合↓
文字幅詳細

以上がこれまでのおさらいです。
今回は文字幅の具体的な計算方法を確認することにしましょう。

セルの文字幅の内訳はこうです。

セルの文字幅1 = 余白 + 実幅
セルの文字幅1 = 余白 + 実幅 * 2
セルの文字幅1 = 余白 + 実幅 * 3
    …

セルの幅の大きさについては、「ActiveCell.ColumnWidth」でアクティブセルの文字幅を、「ActiveCell.Width」でアクティブセルの文字幅のポイント数を取得できます。
ただし、値を設定して列幅を変更できるのは「ActiveCell.ColumnWidth」だけです。
また、残念なことに余白と実幅を直接求める方法を私は知りません。
ですので、仕方なしにこうします。

実幅 = セルの文字幅2 - セルの文字幅1
余白 = セルの文字幅1 - 実幅

さらに、残念なことにセルの文字幅は実際に設定されているセルより取得する方法しか私は知りません。
ですので、いったん文字幅を1にして値を取得し、続けて文字幅を2にした時の値とで、余白と実幅を算出します。
そうやってようやく、セルの文字幅とポイントを相互変換できるようになります。
ポイントと変換ができれば、ピクセルとも可能ですよね。

「セルの文字幅 ⇔ ポイント ⇔ ピクセル」といった感じです。
申し訳ないですが、直接「セルの文字幅 ⇔ ピクセル」は諦めてください。

最後に、計算方法を紹介します。

↓MSゴシック、フォントサイズ11、太字なし、DPI96の場合↓
列の文字幅一覧

標準のフォントやDPIが変われば、文字幅1のポイント数が変化します。
それに合わせて水色の部分を変更し、計算式と数式の参照を合わせてやればちゃんと求められます。
これを見ると気付くのですが、文字幅は計算結果の小数第3位を四捨五入した値なんですね。
スポンサーサイト

コメント

コメントの投稿

管理者にだけ表示を許可  

トラックバック

http://likep.blog63.fc2.com/tb.php/205-0f6e741c

 | HOME | 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。