UiPathで複数のWordファイルをPDFファイルに変換しよう

By | 2018年8月19日

UiPathで複数のWordファイルをPDFファイルに変換しよう

※この記事で説明するアクティビティを利用する前にWord用のパッケージをインストールしておく必要があります
また、当然ながらMicrosoft Wordがインストールされていないと利用できません。

UiPathではWord専用アクティビティを使うことで、簡単にWordファイルをPDFへ変換することができました
実際にこの作業を行いたい場合を想定すると、おそらく大量のファイルを一括で処理したい、

といったことが多いと思います。では、どうすれば複数ファイルに対して変換処理を行うことができるのでしょうか。
こちらで紹介している複数ファイルへの操作と組み合わせた方法を紹介していきたいと思います。

1.複数のWordファイルを準備しているフォルダからファイルを読み込む

今回は複数のWordファイルが1つのフォルダ内に入っているという想定で進めます。
まず、そのフォルダの中にあるファイルの場所をUiPathに読み込ませます。
フォルダの場所(パス)を格納する変数(string型、もしくはGenelicValue型)を作り、Assignで設定しましょう。
もし今後このフォルダの場所が変わっても基本的にこの変数だけ変更すれば、
後の処理はメンテナンスしなくてよい、という作り方をしていきます。

2.For Eachアクティビティを使って複数ファイルに対する処理を設定する

For Eachの中でDirectory.GetFilesを使い、Wordファイルの場所を指定します。
※Directory.GetFilesの詳しい説明はこちらの通りです。

3.ファイルをPDFに変換する

以前の方法と同様にWord Application scopeとExport to PDFアクティビティを設定していきます。

Word Application scopeで指定するファイルの場所をFor Eachのitem変数で設定します。

最後にDoの中でExport to PDFアクティビティを使い、出力PDFファイル名を指定します。

この時、Export to PDFのFilePathを上記のようにすることでWordと同名のPDFファイルを作ることができます。
なお、このやり方の場合はWordファイルのあるフォルダ(folderpath)と同じフォルダにPDFが出力されます。
ポイントはSystem.IO.Path.GetFileName(item.ToString)の部分です

item.ToStringには文字列に変換されたファイルのパスが入っています。
System.IO.Path.GetFileNameは、.netのメソッドでファイルパスの中からファイル名のみを取りだすことができます。

System.IO.Path.GetFileName(ファイルパスの文字列)

という使い方を覚えておきましょう。

上記で準備は完了です。
これを実行することでWordファイルの格納されているフォルダに同名のPDFファイルが作成されます。