4

私がいくつかの VBA コードを作成している Word 文書では、ユーザーフォームに画像を表示し、ユーザーフォームのサイズを変更して、表示されている画像に合うようにする必要があります。

Immediate Box で次のようなことを試したとき、私は非常に混乱しました (画像ファイルの実際の幅はわずか 675 ピクセルです)。

? LoadPicture("C:\Users\arose\Desktop\Security Control Doc\Images\AC1.bmp").Width
  17859 

最終的に、これは VBA がピクセル以外の単位を使用していることが原因であることがわかりました。ツイップ、またはそのようなもの。しかし、実際には画像サイズをピクセル単位で指定する必要があるため、いじくり回して変換係数を大まかに見つけ、これを使用しています。

Function TwipsToPixels(Twips As Long) As Long

    TwipsToPixels = Twips / 25.477

End Function

これは役に立ちましたが、特に正確ではありません。私の質問は、VBA で画像サイズを取得するよりエレガントで正確な方法がある人はいますか?

4

1 に答える 1

7

VBA の既定の測定単位はtwipsです。これは画面に依存しない測定単位で、ポイントの 1/20、つまり 1/1,440 インチに相当します。1 センチメートルは 567 twip です。

ピクセルは画面に依存する単位であるため、2 つの関数/プロパティTwipsPerPixelXTwipsPerPixelYでうまくいくはずです。

于 2012-09-05T13:41:14.377 に答える