既に開いているExcelのパスを取得する方法

既に開いているExcelのパスを取得する方法を知りたいのですが、
こちらは可能でしょうか。
開く対象のExcelファイルは特定のものではありません。

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

「Excel アプリケーション スコープ」アクティビティでEXCELファイルを開く事とします。このアクティビティの出力>ワークシートに変数(WorkBookApplication型)を定義します。

BK.CurrentWorkbook.FullName
とすると、フルパス名が取得できますので、

System.IO.GetDirectoryName(BK.CurrentWorkbook.FullName)
とすれば、パスだけが取得できます。

ご回答ありがとうございます。
CurrentWorkbook.FullNameでフルパスを取得できるのですね。
ただ、やはり事前にExcel アプリケーション スコープでファイルを
指定した状態でないとパスは取得できないということでしょうか。

やりたい事としては下記の通りです。
①Excelファイルを開いた状態でワークフローを実行
②開いているExcelファイルのパスを取得
③パスを変数に代入
④Excel アプリケーション スコープで取得したパスを開く

VBAであればActiveWorkbook.FullNameが有効だったのですが、
何か代替手段がないか探しております。

UiPathが、「Excel アプリケーション スコープ」アクティビティで開いているEXCELではなく、既に開いているEXCELのフルパスをって事ですね?

となると、純粋にEXCELから情報を得る事になりますね。

小生が使っているEXCEL2016ですと、ファイルタブ>情報画面に「パスのコピー」というボタンがあって、それをクリックするとクリップボードにフルパス名がコピーされました。

これをUiPathでレコードすれば行けると思います。

EXCEL2016

Excel自体にフルパスを取得する機能があるのですね。
これでやりたい事が実現できそうです。
ご回答ありがとうございました。

1 Like

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