cancel
Showing results for 
Search instead for 
Did you mean: 

Excelでシートをコピーして名前を変更するにはどうされていますか?

RisaKamiya
Level 4

いつもありがとうございます、デンソーの神谷です。

Excelの操作でどうにも実現できないことがありまして、ご相談させてください。

【やりたいこと】

Excelファイル(A)にシートが複数あります。
シート名○○を 別の名前を付けて 同じファイル(A)や別のファイル(B)にコピーする。
シート名○○の全セルを領域指定して、新規作成した別のシートにペーストではダメなんです。
コピー元にはテキストだけでなく画像が張り付けてあり、コピー先の行・列の幅が異なるために
コピー元の見栄えがと変わってしまい、手修正が必要となるので、シートをごっそりコピーしたいです。
また、標準VBOをコピーして、コードステージにMicrosoftのコードを書いて・・・という特別対応も避けたいです。
のちのちのメンテナンスに手間がかかることは最小限にしたいです。
標準VBOにこういう機能を搭載していただくことがベストなのですが、一番近そうなアクションが Move Worksheet  っぽいのですが、ここではコピー先のWorksheet名を指定できないのです。
あるいは、ワークシートの名前を変更するアクションがあれば合わせ技でできそうなのですが、それも見つからず。

1739.png
お助けいただけませんでしょうか。よろしくお願いします。


------------------------------
Risa Kamiya
------------------------------
1 BEST ANSWER

Best Answers

kiyomikazuaki
Level 3
こんにちは。Falcs清海です。

確かにMove Worksheetでシートコピーはできますが、シート名までは変えられなさそうですね。
いろいろと試してみたのですが、やはりシート名を変更するアクションを自作するのが手っ取り早い気がします。

シート名変更のアクションについては↓を参照してみてください。
https://falcslab.com/blueprism/excel-vbo/377/

既存のアクションで解決できず申し訳ないですが、ご参考まで

------------------------------
kiyomi kazuaki
------------------------------

View answer in original post

6 REPLIES 6

kiyomikazuaki
Level 3
こんにちは。Falcs清海です。

確かにMove Worksheetでシートコピーはできますが、シート名までは変えられなさそうですね。
いろいろと試してみたのですが、やはりシート名を変更するアクションを自作するのが手っ取り早い気がします。

シート名変更のアクションについては↓を参照してみてください。
https://falcslab.com/blueprism/excel-vbo/377/

既存のアクションで解決できず申し訳ないですが、ご参考まで

------------------------------
kiyomi kazuaki
------------------------------

清海さま

Reply&Adviceをありがとうございました。

ご紹介いただいた「BPA オブジェクト - シート名変更.xml」をBPデフォルトのMS Excel VBO を 名前を付けて保存した 別のオブジェクトにページを追加し、開始・終了ステージに受け渡し設定をして、プロセスから「シート名を変更する」ことができました!\(^o^)/

BPデフォストの MS Excel VBO に 名前を付けてシートを移動(複製オプションあり) か シート名を変更 が 近い将来追加されることを切望しますね。

余談ですが・・・データアイテムSuccess がテキスト型なのは、何か理由があるのでしょうか?(テキストでエラーになっていないので問題ないのですが)

直感的にフラグかな?と思ったら、テキストだったので、気になりました。

1711.png



------------------------------
Risa Kamiya
------------------------------

神谷 様

無事解決できてよかったです!

Successのデータ型がテキストになっている件、ただの実装ミスっぽいですね。。。
おっしゃるとおりフラグ型が良いかと思います。ご指摘ありがとうございます。
修正してアップします^^;

------------------------------
kiyomi kazuaki
------------------------------

清海さま

フラグ型ですね、了解です、こちらもフラグ型に変更します!

ありがとうございます<(_ _)>

神谷理佐@デンソー



------------------------------
Risa Kamiya
------------------------------

【続報です】

別件でサポートチケットで対応いただくなか、標準VBOでできることがわかりました。

MS Excel VBO:Copy and Paste Worksheet Range で Range指定しない と、新たにシート名称を変更して
シートごとごっそりCopyできました。
(既存のシート名の変更は清海さまにご紹介いただいた手法が必要です)


------------------------------
Risa Kamiya
------------------------------

共有ありがとうございます。
その発想はありませんでしたね^^; 勉強になりました!

ただ、列幅がデフォルト値ではなく、かつ、画像が含まれるシートをコピーしようとすると画像の表示サイズが変わってしまうようですね。。。
おそらく画像ペースト後に列幅を変えるような処理になっていて、そうなるのかなと思っています。
図を使うとき以外なら、ご紹介いただいた方法でもいけそうですね

1732.png


------------------------------
kiyomi kazuaki
------------------------------