[[20200701090847]] 『列幅のピクセル 13を境に単位幅が違うのはなぜ?』(やまと) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『列幅のピクセル 13を境に単位幅が違うのはなぜ?』(やまと)

こんにちは。
よろしくお願いします。

差込印刷のためのレイアウトをVBAで作ろうとしていて疑問に思ったところがあるので
もしご存じの方がいらっしゃったら教えていただければと思います。

紙1枚にプリントアウトするための最大ピクセルを調べていて、
行高の方は1ピクセル=0.75と単純だったのですが、
列幅の方は、13ピクセル=1.00で、
それ以上は1ピクセル=0.125(1/8)、それ以下は1ピクセル=0.769...(1/13)になっていました。

なぜこのようになってしまっているのでしょうか?

このサイトを検索するとこんな書き込みがあったのですが、
もし13を基準に1.0としておいて、なぜそれ以上を1ピクセル=0.125にしてしまったのかが疑問です。

http://www.excel.studio-kazu.jp/kw/20081119001039.html

セルの列幅は「1.0 (13ピクセル)」にした時 MSゴシック11ポイントの半角文字を一つ表示出来ます。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


書き込んですぐ、「もしかしてMSゴシック11ポイントの半角文字を表示できる個数」が基準なのか?
と思い試してみたところ、多少の誤差はあるもののだいたい正しい結果が得られました。

13→1文字
21→2文字
29→3文字
37→4文字
45→5文字

もしかすると列幅の値は「MSゴシック11ポイントの半角文字を表示できる個数」なのですか?
(やまと) 2020/07/01(水) 09:19


http://www.excel.studio-kazu.jp/tips/0015/
(A1) セルの幅 (列幅) の『8.38』は標準FONTで表示できる文字数です 8.38 はMSゴシック11ポイント(半角) で 8文字と少し表示できる幅 という意味です プリンタのドライバと関係するので一概に何 mm とか計算できません 列幅が『幅: 8.38 (72 ピクセル)』と表示されるWindows はセルに 8.38 文字表示できます 列幅が『幅: 12.00 (2.72 センチメートル)』と表示されるMachintosh はセルに 12 文字表示できます

このサイトにはこんなことも書いてありました。

 Sub Test()
    Dim s As String
    Dim i As Byte
    With Rows(1).Font
        .Name = "MS ゴシック"
        .Size = 11
    End With
    For i = 1 To 26
        s = s & "x"
        Columns(i).ColumnWidth = i
        Cells(1, i).Value = s
    Next
 End Sub

テストもしてみて、見事に合致しました。

そういうことだと理解します。ありがとうございました。
(やまと) 2020/07/01(水) 09:47


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.