Read Rangeにて数式のまま読み取りたい。

Read Rangeアクティビティーにて、
セルに数式が入っている値を読み取る時に
セルの数式の計算結果ではなく、数式のままコピーしたいのですが
どうしたらよいでしょうか。

例えば
A1というセルに
=1 + 1
という数式がある場合、Read Rangeにて値を取得し、貼り付けると
2という値になり、元の数式情報が消えてしまいます。
(=1+1という文字列で取得したいと思います)

よろしくお願い致します。

SendHotKeyで、CTRL+C、CTRL+V、でいけました。
サンプルを添付します。
Main.xaml (7.4 KB)
Book1.xlsx (8.8 KB)

返信ありがとうございます。

頂いたサンプルが
「Activity could not be loaded because of errors in the XAML」
となって確認出来なかったので推測になりますが
Send Hot Key をエクセルに行い、通常のエクセルの数式のコピー
と同様の処理を行うのだと思います。

ただ、UI上の操作は動作が不安定になるのに加え、
時間もかかるので出来れば避けたいと考えています。

理想としてはReadRangeとWriteRangeで行えたらと思っております。

よろしくお願い致します。

「Read Cell Formula」アクティビティ(セルの数式を読み込む)というものがあるようです。

https://rpalabo.jp/knowledge-base/316

(追記)「Read Rangeにて」ということでしたね…。
元ファイルを編集してもいいなら、「FORMULATEXT」関数で式を取得した列を追加するなどはいかがでしょうか。

返信ありがとうございます。

Read Cell Formulaは初めて知りました。
ただセルが一つのみしか出来ないようですね。
最悪Read Cell Formulaをループで回すことも考慮にいれようかと思います。。
Read Range Formulaのようなアクティビティーがあればよかったのですが・・・

元のファイルは編集出来ないのFORMULATEXTは使えません・・・

よろしくお願い致します。

もうものすごーく邪道な方法かもしれません……

Excelでセルに数式を表示するには
[数式]リボンの中にある[数式の表示]をクリックします。
これのショートカットはctrl+shift+@です。

なので、処理の頭で、send hot keyでこのショートカットキーを押して
それから、Read Rangeでシートの内容を読み込むのですが
そのときにRead Rangeのプロパティで、「表示形式を維持」にしておきます。
%E7%84%A1%E9%A1%8C2

ためしてみたシーケンスこんな感じです。

これでメッセージボックスに数式が出てきたので、たぶんこれでいけると思います。
なんか「うわダッサ!」って感じの方法だったらごめんなさい……。

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.