Windows 8.1 + Excel 2016 > Ctrl + Alt + vの動作 > コピー元閉じた状態: 「Unicodeテキスト」または「テキスト」のみ


動作環境
Windows 8.1 Pro (64bit)
Excel 2016

状況

  • コピー元csvファイルがある
  • 対象セルの値は2.176789E-15
  • セル上でコピーを実行
  • 新規エクセルファイルで下記のいずれかを実行
    • A. コピー元csvファイルを開いた状態で Ctrl + Alt +* v
      • ==> 「形式を選択して貼り付け」の「貼り付け」項目に「値」などが表示される (参照: 図A)
    • B. コピー元csvファイルを閉じた状態で Ctrl + Alt + v
      • ==> 「形式を選択して貼り付け」にて「Unicodeテキスト」か「テキスト」しか選択できない (参照: 図B)

図A (コピー元開いた状態)

図B (コピー元閉じた状態)

OLEによる貼付け数値の精度

C++ Builderの実装にて、OLEによる貼付けで「値」と指定していた。
指数の値が小数点以下2桁となってしまうが、上記の「コピー元閉じた状態」での貼付けと同等の処理にしているのが原因だろう。
「テキスト」として表示された2.18E-15の値として貼付けされているようだ。

C++ Builderの実装にて、コピー元csvファイルを開いた状態で「値」とした貼付けの処理にしたところ、少数点以下2桁よりも多くの数値を保持した貼付けができるようになった。