Excelのシートを別ブックにコピーする方法

事前に準備した「ひな型Book」より、
シートをコピーして新規Bookを作成したいのですが
実施方法が見つけられていない状態です。

試用するアクティビティと入力内容の例等、
ご教示いただければ幸いです。

こんにちは
幾つかやり方はあるようですが、クラシックの「シートをコピー」アクティビティのプロパティに「コピー先のファイルパス」を指定できるため、この方法がいちばん簡単かもしれません。

回答が役立ったらSolutionにチェックをお願いします。 :winking_face_with_tongue:

ご連携ありがとうございます。
クラシックアクティビティから「シートをコピー」を選択したのですが
画面上では以下のようなアクティビティが追加されました。

こちらでも同様の処理が行えるのでしょうか
試しにパスを指定してみましたが構文エラーのような形になります。

もしかしてStudioXをお使いでしょうか?私はUiPath Studioを使っているので、アクティビティの顔が少し違うのかもしれません。次回からは質問する際には使っているUiPath の種類(StudioXかUiPath Studioか)を書かれた方がよろしいかと思います。

このアクティビティに限らず、クラシックデザインの場合はExcel操作アクティビティは、Excelアプリケーションスコープで囲まないと動作しませんが、囲んでおられますか?

私はUiPath Studioを使用している認識なのですが
齟齬がありましたら申し訳ないです。
以下私の操作中の画面です。

「Excelプロセススコープ」で囲ってもいるものの中で
「エクセルファイルを使用」→実行でシートコピーの形です。

UiPath Studioをお使いとのこと、了解しました。

「エクセルファイルを使用」はモダンデザインのアクティビティのため、今回は使わないでください。また、画像を拝見する限り、間違ってMicrosoft365パッケージの「シートをコピー」を使っているように見えます。今回はMicrosoft365パッケージではなく、UiPath.Excel.Activities 配下のクラシックの「シートをコピー」を使ってください。
もし、UiPath.Excel.Activitiesをインストールしていない場合は、デザインリボンのパッケージを管理からインストールしてください。
※Excel関連は同名のアクティビティが複数あるため注意が必要です。

UiPath StudioでUiPath.Excel.Activities配下のExcel操作アクティビティを使う際の基本的知識ですが、

モダンデザインの場合は、

[Excelプロセススコープ]-[Excelファイルを使用]-[Excel操作アクティビティ(シートをコピーなど)]

の三重構造、

クラシックデザインの場合は、

[Excelアプリケーションスコープ]-[Excel操作アクティビティ(シートをコピーなど)]

の二重構造になります。

今回はクラシックデザインを使うので、添付画像の2つのアクティビティを使ってください。

ご確認ありがとうございます。
パッケージを誤っており、大変失礼いたしました。
改めて「UiPath.Excel.Activities」をダウンロードしているか確認したところ
以下画像のように、ダウンロードはされているものの
アクティビティ欄から発見できませんでした。

本題からズレてしまい申し訳ないのですが
こちらの原因についてご存じであればご教示いただきたいです。

こんにちは

アクティビティパネルのフィルターでクラシックを有効にしてから検索してみてください。
なおこのシートをコピーアクティビティはモダンのエクセルファイルを使用内でも動作すると思いますので、積極的にエクセルアプリケーションスコープを使用する必要はあまりないかもしれません。

また別アプローチとして以下のような方法(一部の書式はコピーされないように思えますが)やVBAを使う方法なども考えられます。

1 Like

初心者の方がひっかかりやすい箇所ですが、アクティビティボタンをクリック後、フィルターで
クラシックをチェックしないと、クラシックアクティビティは表示されません。

なお、Yoichi氏の紹介してくれたリンク先に書いてありましたが、下記の方法だとモダンアクティビティだけでやりたいことを実現できるようです。

・ブックBに「シートA_dash」を新規作成し、次に「範囲をコピー/貼り付け」アクティビティを使用して、「ブックA.xlsx」の「シートA」を「ブックB.xlsx」の「シートA_dash」へコピーします。

回答が役立ったらSolutionにチェックをお願いします。 :winking_face_with_tongue:

1 Like

@YY_MT

Welcome to the community

you can use modern copy sheet as well..you need to use two use excel file activities one inside another so that you have two handles that can be accesses

Excel.Sheet and excel1.Sheet for example

cheers

2 Likes

ご連携ありがとうございました。
今回はモダンアクティビティを使用して進めようと思いますが
クラシックの使い方を知ることができて幸いでした。

ご教示ありがとうございました。