この記事はUiPathブログ発信チャレンジ2021サマーの15日目の記事です。
※こちらに記載の内容は、某社内環境にて独自に確認したものです。公式な情報ではないことをご了承くださいませ。
それでもこれを記事にしようと思ったのは、何人か同じ事象で悩み、時間を費やしていたことがあったため、モヤっとを解消するかもしれない1つの情報として記載させて頂きます
StudioのVersionは2020.10.4で検証しております。
##シートをコピー (Copy Sheet)アクティビティが「正しく」動作しない
StudioのExcelアクティビティパッケージに含まれている**「シートをコピー (Copy Sheet)」アクティビティ**を使われたことはありますでしょうか?
https://docs.uipath.com/activities/lang-ja/docs/excel-copy-sheet
見ての通り、Excelのシートをコピーするために使用するアクティビティで、結構使う場合も多くあります。
ただ、公式ページにも記載のある通り、officeのバージョンによっては正しく機能しないという注意書きがあります。
この表現、開発者的にはめちゃくちゃ引っ掛かるんですよね。
「正しく」ってなんやねん!「正しくない」ってどういう動きやねーーーん!
というのは置いておいて。。。、
さらに、office2016でも正しく機能しないことが判明しました。
ということで、何がダメなのか、検証しました。
##何ができて何ができないのか?
####Case1:コピー元シートとコピー先のブックが同じ場合
※サンプルソースの注釈には、同じブックで使えると書いてある・・・
####Case2:コピー元シートとコピー先のブックが異なる場合
無事にExample2.xlsxファイルの方にシートがコピーされていました。
##推測される挙動 ※あくまでも勝手な推測です。
どうやら最初のエラーは自分(Excel)をもう一度開こうとしているような感じがします。
自分自身を別物として再認識しようとしてうまくいかず、キャストできない!って怒ってる状態のようです。
Excelのバージョン依存で動かないという理由もこのあたりにあるのかもしれない。
そして、Excelの仕様として、内部的な処理として2019では同じファイルを開くことができるようになったってことかもしれない。🦆🦆🦆
##最後に
勝手な深掘りにお付き合い頂き、ありがとうございました。スッキリしてくださった方が1人でもいらっしゃればいいなぁと。
(自分的にスッキリなので、1人カウントしちゃおう!)
##補足
・Excel2019の場合、同じブックでもコピーすることが出来ました。
・かんたんExcelパッケージの「シートをコピー(同じブック内)」を使用するとExcel2016でも同じブックでコピーすることが出来ました。