Blue Prism を使って、Excelのデータを別のExcelに転記する機会って結構ありませんか?
単純にコピー&ペーストするだけならBP提供のアクションを使えば良いのですが、中には「行と列を入れ替えて!」とか「貼り付け先のセルの書式は変えないで!」とか、いろんなリクエストに応えないとならない状況も発生する訳で…。
自分でコードを書ける方なら「MS Excel VBO」の拡張版オブジェクトを作成してアクションを追加しても良いのですが、時間や自信がない方のために、そんなオブジェクトを作成しました!
この記事ではそのオブジェクトの中から、前述のリクエストに応えることが可能なアクションを紹介します。
これで効率アップが期待できますよ!
今回の対象オブジェクトとアクション
- オブジェクト:NEEX - MS Excel
- アクション:Copy And Paste With Options
NEEX - MS Excelの無料ダウンロードはこちら
アクションの説明
手動でExcelのセル(または範囲)をコピーした後、「形式を選択して貼り付け」を選択するか、「Ctrl + Alt + V」のショートカットで表示される画面で、オプションを選択して貼り付けが可能なことは皆さんご存知だと思いますが、この「セル(または範囲を)コピーして、形式を選択して貼り付け」という動作を一発で実現するアクションです。
入力で指定可能な項目
- Handle:操作対象のExcelインスタンスを示すハンドル
- Copy From Workbook Name:コピー元ワークブック
- Copy From Worksheet Name:コピー元ワークシート
- Copy From Range:コピー元の範囲指定(省略時:シート全体)
- Workbook Name:貼り付け対象ワークシートを含むワークブック(省略時:コピー元のワークブック)
- Worksheet Name:貼り付け対象ワークシート(省略時:アクティブシート)
- Target Cell:貼り付け対象左上セル(シート名と両方省略した場合:現在の選択範囲に貼り付け、セルのみ省略した場合:対象シートの左上に貼り付け)
- PasteType:貼り付けタイプ(省略時:-4104、詳細は後述)
- Operation:貼り付け先のデータとの計算(-4142:何もしない、2:加算、3:減算、4:乗算、5:除算) (省略時:-4142)
- SkipBlanks:空白セルを貼り付けない場合はTrue(省略時:False)
- Transpose:行と列を入れ替える場合はTrue(省略時:False)
使用例
例として、冒頭で出てきた「行と列を入れ替えて!」と「貼り付け先のセルの書式は変えないで!」という二つのリクエストに応えてみましょう。
まず、「C:\BP_Test\Book1.xlsx」の「Sheet1」シートはこんな感じです。
このシートのB1セルからG2セルをコピーして、「Sheet2」シートのB2セルに「行と列を入れ替えて」転記したいのですが、このとき「Sheet2」シートの書式設定は変更不可と言われています。
そこでこんなプロセスを作成しました。
「Copy And Paste With Options」ステージの入力はこんな感じです(今回は同じブック内でのコピー&ペーストなので、Workbook Nameは省略してもOKです)。
「行と列を入れ替える」のでTransposeにはTrueを、貼り付け先のセルの書式を変更しないように言われているので、値だけを貼り付けるように、PasteTypeには「-4163」を指定しています。
ちなみに、PasteTypeには以下のオプションを数値で指定することができます(なぜ数値?と思う方もいらっしゃるかもしれませんが、今回はとりあえずそういうものだと流してください…)。
- 全て貼り付け : -4104
- 罫線以外全て: 7
- 全て(条件付き書式をマージ): 14
- 全て(コピー元のテーマを使用): 13
- 列の幅: 8
- コメント: -4144
- 書式: -4122
- 数式: -4123
- 数式と数値表示形式: 11
- データの入力規則: 6
- 値のみ: -4163
- 値と数値表示形式: 12
実行しますね。
行と列を入れ替えて、値だけを貼り付けることができました!
いかがでしたか?
NEEX - MS Excelには他にも便利なアクションがあるので、また機会があれば紹介しますね!
NEEX - MS Excelの無料ダウンロードはこちら
下記、各サービスの問い合わせはこちら
- BP新規導入
- BPライセンスの購入や他社からの乗り換え
- 技術支援、技術相談
- 教育サービス