@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

場違いかも知れませんが

1
投稿者投稿内容
user_kae
会議室デビュー日: 2002/05/17
投稿数: 2
投稿日時: 2002-05-17 10:19
初めて投稿いたします。

.NETの話ではなく恐縮なんですがご存知の方がいらっしゃったら教えていただきたくタイプ致します。ココで聞けば?という回答でも結構ですのでお答えいただければ幸いです。

EXCEL2000のVBAコードの件なんですが。

ActiveSheet.Shapes.AddShape(msoShapeRectangle, Add_Left, Add_Top, Add_Width, Add_Height).Select
Selection.Left = 40
Debug.Print Selection.Left

とした時に何故か Selection.Left = 39.75 となってしまいます。
いったい何がどうなっているのでしょう?
実際は40に変数[Single]を当てていますがすべて.25単位で丸められてしまいます。
どうすれば・・・。。
mito
ベテラン
会議室デビュー日: 2002/05/17
投稿数: 50
投稿日時: 2002-05-17 12:13
たぶんの推測ですが、
図形はピクセル単位で移動します。
でもLeftプロパティはポイント単位で指定します。
ここで1ピクセルは0.75ポイントです。(<−確証はないです)
このため40ポイントは近い53ピクセルに近似され
そのため39.75ポイントと表示されるのではないでしょうか。
またピクセル単位の移動のためぴったり40ポイントには
設定できないと思われます。

間違っていたらごめんなさい。
Ibsen
会議室デビュー日: 2002/04/10
投稿数: 12
投稿日時: 2002-05-17 12:29
お願いです。
場違いの投稿かも知れませんがお詫びして。
スレッド内容には、分かりやすい内容を入力いただけませんか。
たとえば、「EXCEL2000のVBAコードの件なんですが。」としていただくとありがたいのですが。

user_kae
会議室デビュー日: 2002/05/17
投稿数: 2
投稿日時: 2002-05-17 12:58
mitoさんありがとうございます。
その方向で考えてなんとかやってみます。

スレッドのタイトルは以後気をつけます。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)