質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1945閲覧

Excel VBAでUserForm上のImageサイズがよくわかりません

suns_edu

総合スコア8

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/07/10 12:19

Excel VBAでUserForm上のImageサイズがよくわかりません

Excel 2010を使っています。
VBエディタを開いて現在のシートにUserFormを挿入し、
ツールボックスのコントロールからイメージをDrag&Dropすると
UserForm上には(プロパティによると)72x72のコントロールが追加されます。

[F5]を押して実行するとUserForm上に四角い黒枠が表示されますが、
スクリーンショットをペイントにペーストしてドット数を数えると
94x94になっていてプロパティのサイズよりも大きくなっています。

Excel 365でも試してみましたが同じ挙動でした。
UserFormのZoom値は100で、100%という理解なのですが、
このサイズの違いはどのように考えればよいでしょうか。

Bitmap表示時に適切なDot-By-Dotの表示ができなくて困っています。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コントロールのサイズの単位は、ドット(ピクセル)ではなくポイントになるようです。
https://www.officepro.jp/excelvbaform/form_form/index5.html

1ドット=0.75ポイントなので、72と設定されている場合、72÷0.75で96ピクセルになります。

投稿2018/07/11 00:12

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suns_edu

2018/07/14 04:50

ご回答ありがとうございます。94x94に1dotの黒枠が付きますので96x96での質問が妥当だったようです。イメージのデフォルトサイズが1インチ(1inch=72Ptと)であるためプロパティには72ポイントで表示され、使用しているディスプレイが96dpi (dot per inch)ならば96/72倍することで適切なドット数で画像表示できました。 最終的には、300dpiのような高dpiディスプレイ対策として、DeviceDpi/72倍することにいたしました。 今後ともよろしくお願い申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問