【RPA】UiPath Invoke CodeでExcel/Word/PowerPointをPDF変換する
#RPA #UiPath #DX #ビジネス #ソフトウェア
RPAツールであるUiPathでは、
GUIによってアクティビティと呼ばれる処理の部品を選択して貼り付けることで、
パソコンで行うための一連の動作を組み立てることができます。
各処理ではVisualBasic言語(VB.NET)によって、原則、1行だけのコードを書く(プログラミング)ことができます、。
それだけでは収まらない処理は「コードを呼び出し(Invoke Code)」というアクティビティによって、
複数行のコードをプログラミングすることができます。
Invoke Codeアクティビティは、原則、一つのVB.NETのSUB関数としての機能でしかなく、
一つの関数を作るようなイメージです。
(Invoke Codeアクティビティ内で複数の関数を定義することは現状ではできません)
今回は、Invoke Codeアクティビティによって、
Excel/Word/PowerPointをPDF変換するコードを作成しました。
※実行するPCにExcel/Word/PowerPointがインストールされている必要があります。
(Excel/Word/PowerPointのCOMコンポーネント(タイプライブラリ)が使える状態であることが必要です)
■Invoke CodeでExcel/Word/PowerPointのどれかを判断する
ファイルの拡張子によって、Excel/Word/PowerPointのどれかを判断する。
Invoke Codeアクティビティの引数を定義します。
In_File String 入力:ファイル
Out_PdfFile String 入力:種別(EXCEL or WORD or PPT)
Excel/Word/PowerPointのどれかを判断するするInvoke CodeアクティビティのVB.NETコードは、
以下の処理を実施します。
①ファイル名から拡張子を取得
②拡張子が"xlsx"または"xls"の場合、種別に"EXCEL"を返却
拡張子が"docx"または"doc"の場合、種別に"WORD"を返却
拡張子が"pptx"または"ppt"の場合、種別に"PPT"を返却
■Invoke CodeでExcelをPDF変換をする
ExcelファイルをPDFに変換します。
Invoke Codeアクティビティの引数を定義します。
In_ExcelFile String 入力:Excelファイル
In_PdfFile String 入力:Pdfファイル
Out_Result Boolean 出力:結果(True/False)
Out_ErrorMessage String 出力:エラーメッセージ
ExcelファイルをPDFに変換するInvoke CodeアクティビティのVB.NETコードは、
以下の処理を実施します。
①入力引数のチェック
②フルパスに変換
③Excelアプリケーションのインスタンスを生成
④Excelブックのオープン
⑤PDF変換保存
⑥Excelブックのクローズ処理をする
⑦Excelアプリケーションのクローズ処理をする
⑩正常であれば、Out_ResultにTrue、Out_ErrorMessageに空文字("")を設定して終了する
異常(例外発生)であれば、Out_ResultにFalse、Out_ErrorMessageにエラーメッセージ(例外メッセージ)を設定して終了する
■Invoke CodeでWordをPDF変換をする
WordファイルをPDFに変換します。
Invoke Codeアクティビティの引数を定義します。
In_WordFile String 入力:Wordファイル
In_PdfFile String 入力:Pdfファイル
Out_Result Boolean 出力:結果(True/False)
Out_ErrorMessage String 出力:エラーメッセージ
WordファイルをPDFに変換するInvoke CodeアクティビティのVB.NETコードは、
以下の処理を実施します。
①入力引数のチェック
②フルパスに変換
③Wordアプリケーションのインスタンスを生成
④Wordブックのオープン
⑤PDF変換保存
⑥文書のクローズ処理をする
⑦Wordアプリケーションのクローズ処理をする
⑨正常であれば、Out_ResultにTrue、Out_ErrorMessageに空文字("")を設定して終了する
異常(例外発生)であれば、Out_ResultにFalse、Out_ErrorMessageにエラーメッセージ(例外メッセージ)を設定して終了する
■Invoke CodeでPowerPointをPDF変換をする
PowerPointファイルをPDFに変換します。
Invoke Codeアクティビティの引数を定義します。
In_PowerPointFile String 入力:PowerPointファイル
In_PdfFile String 入力:Pdfファイル
Out_Result Boolean 出力:結果(True/False)
Out_ErrorMessage String 出力:エラーメッセージ
PowerPointファイルをPDFに変換するInvoke CodeアクティビティのVB.NETコードは、
以下の処理を実施します。
①入力引数のチェック
②フルパスに変換
③PowerPointアプリケーションのインスタンスを生成
④プレゼンテーションのオープン
⑤PDF変換保存
⑥プレゼンテーションのクローズ処理をする
⑦PowerPointアプリケーションのクローズ処理をする
⑨正常であれば、Out_ResultにTrue、Out_ErrorMessageに空文字("")を設定して終了する
異常(例外発生)であれば、Out_ResultにFalse、Out_ErrorMessageにエラーメッセージ(例外メッセージ)を設定して終了する
◇シーケンスを作成するための準備
・UiPathのパッケージ管理から以下のパッケージをインストールします。
■UiPathでExcel/Word/PowerPointをPDF変換するシーケンスの作成
以下の手順でシーケンスを作成します。
①UiPathのプロジェクトを作成
②UiPathのシーケンスを作成
③UiPathの画面から以下をインポート
④以下の変数を定義する
File String Excel/Word/PowerPointファイル
Kind String 種別
PdfFile String Pdfファイル
Result Boolean 結果(True/False)
ErrorMessage String エラーメッセージ
⑤代入アクティビティを追加し、File変数にExcel/Word/PowerPointファイルを設定する
⑥Invoke Codeアクティビティを追加し、
コード編集でExcel/Word/PowerPointのどれかを判断するコードを設定する
⑦条件分岐アクティビティを追加する
種別(Kind)が"EXCEL"の場合、Invoke Codeアクティビティを追加し
コード編集でExcelをPDF変換をするコードを設定する
⑧条件分岐アクティビティを追加する
種別(Kind)が"WORD"の場合、Invoke Codeアクティビティを追加し
コード編集でWordをPDF変換をするコードを設定する
⑨条件分岐アクティビティを追加する
種別(Kind)が"PPT"の場合、Invoke Codeアクティビティを追加し
コード編集でPowerPointをPDF変換をするコードを設定する
⑩実行する
※本記事のサンプルコードに関しては、一切の責任を負いません。
すべて自己責任でお願いいたします。
■上記のサンプルコードプロジェクトを提供します(著作権フリー)
①UiPathプロジェクト(UiPathPrj_InvokeCode_ConvertPDF)
以下のサンプルシーケンスを準備しました。
Excel/Word/PowerPointファイルをPDFに変換するシーケンス
※UiPath Community Editionで作成
(UiPath Studio Pro 2020.10.0 Community License)
②VBコンソールアプリケーションプロジェクト(VBPrj_InvokeCode_ConvertPDF)
Invoke Codeアクティビティ内でデバックすることは困難なので、
一度、VBコンソールアプリケーションとしてプログラミングし、
デバックをしてからコピー&ペーストしたほうが効率的です。
そのため、Invoke Codeアクティビティで動かす同じコードを
VBプロジェクトから動作させるようにしてあります。
※Microsoft Visual Studio Community 2019 Version 16.7.6で作成
(Microsoft.NET Framework Version 4.8.03752)
以下からサンプルコードをダウンロードすることが可能です。
ここから先は
¥ 100
この記事が気に入ったらサポートをしてみませんか?