シートをコピーすると『この名称は既に使用されています。』というエラー発生

こんにちは
UiPath Studio 2024.10.4Community editionのユーザです。

1.やりたいこと

DuplicateSheetXアクティビティで、Sheetをコピーしたい。

2.悩んでいること

DuplicateSheetXアクティビティを実行すると、存在しないSheet名を指定したにも関わらず、添付画像のとおり、『この名称は既に使用されています。』というエラーが出ます。なぜか指定したコピー先シート名と同じ空のシートも作成されていました。原因は何でしょうか。

@gorby,

Follow this Knowledgebase.

こんにちは

新しいシート欄には単純に

"Sheet2C"

と入れればよいように思えます。

新しいシート名を"Sheet2Copy"と指定したらDISCONNECTエラーが出ました、更なるアドバイスを期待します。

この例外が発生しているのは別の個所のように思えますが、シート複製アクティビティとの関連はどのようになっていますでしょうか?

おはようございます。

思い当たるのは下記の点です。
今回クラッシュしたのはMain.xamlの中です。
Main.xamlでクラッシュする直前にInvoke Workflow Fileアクティビティで

LogAnalysis_Sheet2.xaml
LogAnalysis_Sheet4.xaml

を呼び出して、それぞれ、Excel Process Scopeで"OUTPUT\OUTPUT.xlsx"を開いています。
Main.xamlでクラッシュした箇所も、Excel Process Scopeで同じ"OUTPUT\OUTPUT.xlsx"を開いています。
ただ、プロジェクトの設定では、Excel Process Scopeは『存在する場合は再利用』なので、Excel Process Scopeで同じExcelファイルを複数回開いて閉じても問題ないと思いますが
いかがでしょうか。

プロジェクト内にある下記2つのファイルのValueを設定すればどの環境でも動くと思います。
"Config\config.xlsx"⇒4行目で"設定.xlsx"のファイルパスを指定(添付画像参照)


"設定.xlsx"⇒各種フォルダパスとファイルパスを指定(添付画像参照)

状況によりますが、Excelのプロセスを終了している最中に、再度Excelのプロセスを開こうとするとこのような例外が発生する可能性がありますので、あまり良い実装ではないと思います。
今回のケースもその可能性がありますので、Main側のExcelProcessScopeをもっと大きな範囲(他にEXCEL Process Scopeを使うワークフローを呼び出しているアクティビティも含めて囲むように)で指定すると、回避できるかもしれません。

このアドバイスは、Invoke Workflow Fileアクティビティを使わないで、

LogAnalysis_Sheet2.xaml
LogAnalysis_Sheet4.xaml

をMain.xamlの中に戻せ。という意味でしょうか?

違います。単にExcelProcessScopeの囲っている範囲を、ワークフローファイル呼び出しアクティビティを含める様に、広くとると言うことです。

ご指示の通りにしましたが、同じエラーが発生したため、今回はInvoke workflow fileは使わないことにします。

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