2

【質問内容】

なぜ、取得方法がtextでは列を非表示にした際に非表示になっている標準の表示形式の値は所得できるのでしょうか?

既存のExcelファイルから値を取得し別の新たなExcelファイルへ値を設定するシナリオを実行しています。

Winactorのバージョンは6.3.0、スクリプトの提供バージョンはNTTAT_v6.3.0です。Excelは2016です。

既存のExcelファイルから取得する値は関数によって計算され求められる数値であり(関数のエラーはなく数字がきちんと表示されており空白ではない)、

表示形式は通貨の表示形式(小数点以下の桁数は0桁、記号はなし)になっています。

実行後、値が設定されるべきところに値が設定されていませんでした。

調べたところ値を取得する列が非表示になっており、再表示にした後に実行したところ想定通りの処理が行えました。

列が非表示でも値が取得できないかと考えたところ下記の投稿にたどりつきました。

非表示のセルの値所得について(ノードとライブラリの違い)

こちらの投稿をもとに同様のExcelファイルを作成し、検証したところ下記のようになりました。

①下記の画像のようなExcelファイルを作成します。(ファイル名はBook.xlsx)

 文字列と数値はどちらも表示形式は標準ですが、数値は数値扱いとして右揃えになっています。

②Winactorにてライブラリ「Excel操作(値の取得)」を用いて値の取得行います。

 各セルの値を取得し、待機ボックスに表示させたところ、全て表示されていることを確認しました。

③E~G列を非表示状態にしたうえで同じ処理を走らせたところ、E列の数値とG列の日付が表示されないことを確認しました。

非表示のセルの値所得について(ノードとライブラリの違い)の投稿は2020年3月5日であり、

 Winactorのバージョンが6.3.0未満であると推測し、下記の投稿をもとにExcel操作(値の取得)のスクリプトを変更しました。

【踊ってみた同好会(仮)】Excel操作(値の取得)って、何を取得しているかはっきりさせたい!と思ってたら、v7.1ではっきりしていた! [解決済] | ユーザーフォーラム (winactor.com)

E~G列を非表示状態にしたうえで同じ処理を走らせたところ、全て表示されていることを確認しました。

以上のことから非表示のセルの値は取得方法がvalueで取得できることがわかりました。

しかし、取得方法がtextでは非表示のセルの値のうち標準の表示形式の値は取得できるようです。(全ての表示形式を確認したわけではなく定かではない)

そこで冒頭の質問内容になります。

なぜ、取得方法がtextでは列を非表示にした際に非表示になっている標準の表示形式の値は所得できるのでしょうか?

取得方法のtextとvalueの違いは理解しているつもりですが、標準の表示形式の値は取得できることがひっかかります。

以上、よろしくお願いいたします。

sayona 新しいコメントを投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。