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

studio

#1

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

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

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


#2

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


#3

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

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

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

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

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


#4

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

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

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


#5

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

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

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

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


#6

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

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

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

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

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


#7

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