- ベストアンサー
VBAでオブジェクトを小数点で位置指定する方法
VBAでオブジェクトの位置を小数点で指定することはできますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
フォーム上のオブジェクト等の位置の話であれば、 VBAで指定する場合は1twipが基本(最小)単位。 1cm=567twip 1inch=1440twip プロパティなどから入れる場合は近似のcmに変換されるようです。 なので、cmが単位の場合は小数点以下(3位まで?)は入りますが、すべての小数点3位までの数値が入力できるわけでは有りません。
その他の回答 (2)
- ShowMeHow
- ベストアンサー率28% (1424/5027)
回答No.3
よくわかんないけど、 モニタの解像度の問題から、小数点以下を設定することには意味が感じられない。 (1twip = およそ1/20ピクセル)
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.2
何をしたいのか(目的・ニーズ)、何を・どういうこと(コード)をしていて困ったのか書いたら。 質問が抽象的過ぎる。位置指定の変数の型は、マクロの記録ではDouble(#付き)だったかな。
質問者
補足
失礼しました. エクセルを用いて,オブジェクトを動かす動画を作成しています.timer関数を用いて1秒ごとにサイズを指定する動きをキャプチャーすることで動画にしているのですが,キャプチャーしているものを64倍速にしてみてみると,動きがすこしぶれてるようにみえるのです.そこでオブジェクトの位置のデータを小数点で指定してみたのですが,どうも小数点のところが使われていないみたいなのです. 変数はDim h As Double で宣言しています.
補足
回答ありがとうございます Dim h As Double として h = Range("K" & i).Value With ActiveSheet.Shapes(2) .Height = h End With という感じでK行のK1,K2,K3と順番にhに代入してオブジェクトのサイズを指定しているのですが,K1に 10.123456 と入っていた場合は,10twip のHeightにしかならないのでしょうか?