2016年4月22日金曜日

Excel 2013のPlotAreaオブジェクトのInsideWidth,InsideHeightプロパティは整数値しか設定できない

背景

グラフのプロットエリアの枠の大きさを,InsideWidth,InsideHeightプロパティで設定しようとしたときに,期待どおりにならないことがある。

そこで,設定値と設定結果の関係を調べた。


検証環境

  • OS: Windows 10 Pro(64bit)
  • アプリケーション: Excel 2013(64bit)
  • CPU: Core i7 2.4GHz
  • RAM: 16GB
  • 仮想メモリ: OFF


検証方法

以下の手順で検証した。
  1. 適当な散布図を作成する。
  2. ChartAreaの大きさをPlotAreaに対して十分に大きくしておく。
  3. このグラフのPlotAreaのInsideLeft,InsideTop,InsideWidth,InsideHeightの各プロパティの値を適当に設定する。
  4. 設定後,InsideLeft,InsideTop,InsideWidth,InsideHeightの各プロパティの値を取得する。
  5. 手順3の結果と手順4の結果を比較する。


結果

結果は以下のとおり。
  • InsideLeft,InsideTopプロパティは設定値どおりに設定されていた。
  • InsideWidth,InsideHeightプロパティは整数値に切り捨てられていた。例えば,
    • 設定値: 100.11pt → 結果: 100pt
    • 設定値: 100.99pt → 結果: 100pt

・・・ということは,PlotAreaのサイズをmm単位で正確に指定することはできないということである。

なお,https://msdn.microsoft.com/ja-jp/library/ff837610.aspx によればDouble型で設定できることになっている。


0 件のコメント:

コメントを投稿