
・Googleドライブ内のファイルをPDFにしたい
・Googleドライブ内のPDFファイルを結合したい
・無料で使えるツールで実装したい
・プログラミング以外の方法で実装したい
・インストール不要のツールで実装したい
Googleドライブ内のファイルをPDF化して結合する要件を定義
使用する無料ツール:Uipath StudioWeb



今日はUipathでGoogleドライブ内のファイルをPDF化して結合する方法を説明します



無料で使えるツールが良いんだけど・・・



StudioWebは無料で使えます!



それなら安心ね



StudioWebならインストールも不要なので、気軽に使えます



会社PCは勝手にアプリインストールできないから助かるわ
StudioWebの利用にはUipathアカウントが必要です。
以下の記事を参考に無料アカウントを作成してください。


PDF化/結合するための要件を定義する
Googleドライブ内に「PDF結合」フォルダを用意しています。
その中にPDFファイル3つとスプレッドシート、ドキュメントを1つずつ配置しています。
これらのファイルを全てPDF化して結合します。
結合したPDFファイルはGoogleドライブのマイドライブにアップロードします。


StudioWebでGoogleドライブ内のファイルをPDF化/結合する方法
StudioWebを用いたPDF化/PDF結合の流れについて



自動化を始める前に、処理の流れを説明します
Googleドライブフォルダ内のファイルをすべて取得します。
今回は5つのファイルがフォルダに格納されています。
Step1で取得したファイルリストを繰り返し処理で1つずつダウンロードします。
ダウンロードする際にPDF以外のファイルはPDFに変換します。
ダウンロードしたファイルは変数に格納します。
Step2でダウンロードしたPDFファイルを結合します。
Step3で結合したPDFファイルをGoogleドライブにアップロードします。
StudioWebでGoogleドライブ内のファイルをPDF化/結合するシナリオを作成



ようやく開発に入れるね



開発は要件定義と設計が一番重要です
今回はテンプレートを使用せず、オートメーションから新しいプロジェクトを作成します。


新規プロジェクトを作成して、手動のオートメーションを選択します


「ファイル/フォルダーのリストを取得」アクテビティを配置します。
コネクションはご自身のGoogleアカウントを接続してください。
検索場所はPDFが格納されているGoogleDriveフォルダを選択します。


GoogleDriveのフォルダはダブルクリックすると開けます。
共有ドライブなどはグレーアウトされていますが、ダブルクリックすると同じく開けます。
画面右上のデータマネージャーを開いてFileList
変数を作成します。
型は「高度な型」→IENumerable<T>
→IResource
を選択してください。


「変数の値を設定」アクティビティを配置します。
変数には先ほど作成したFileList
変数を設定します。
設定する値はNew List(Of IResource)
とします。


「フォルダーを作成」アクティビティを配置します。
フォルダー名は適当でOKですが、今回は一時保存という名前にします。
このフォルダーはUipathのリモートデスクトップに作成されます。


ここでフォルダーを作成したのは、ダウンロードするPDFファイルを保存する場所を用意するためです。
「繰り返し (コレクションの各要素)」アクティビティを配置します。
コレクションには「ファイル/フォルダーのリストを取得」のファイルまたはフォルダー
を設定します。


これ以降のアクティビティは繰り返し内部に配置します。
「ファイルをダウンロード」アクティビティを配置します。
ダウンロードするファイルには「繰り返し (コレクションの各要素)」のcurrentGDriveRemoteItem
を設定します。
その他のプロパティを開いて「スプレッドシートのダウンロード形式」及び「ドキュメントのダウンロード形式」をPDFにします。


ダウンロード時にスプレッドシートやドキュメントをPDFに変換します。
「ファイルをコピー」アクティビティを配置します。
コピー元は「ファイルをダウンロード」のファイル.LocalPath
を設定します。
コピー先はフォルダー.LocalPath + "\" + ファイル.Name + ".pdf"
とします。ファイル.Name + ".pdf"
の部分は重複しない名前なら何でも良いですが、
このように指定しておくとダウンロード時のファイル名がそのまま付与されるので間違いないです。


ダウンロードファイルを一時保存フォルダにコピーします。
コピーしないとダウンロードファイルが消えてしまって、PDF結合できなくなります。
「パスの存在を確認」アクティビティを配置します。
パスはフォルダー.LocalPath + "\" + ファイル.Name + ".pdf"
を設定します。


このアクティビティの役割はコピーしたファイルをIEnumerable<IResource>
型にすることです。
これによりFileList
変数にコピーしたファイルを格納できます。
「変数の値を設定」アクティビティを配置します。
変数はFilelist
を設定します。
設定する値はFileList.Append(パスが存在する場合の参照)
とします。
これでダウンロードファイルをFilelist
変数に格納できました。


これ以降のアクティビティは繰り返しの外(後ろ)に配置します。
「PDFを結合」アクティビティを配置します。
以下のように設定ボタンから「PDFファイルのコレクションを使用」を選択します。
PDFファイルにFilelist
変数を設定します。
これによりFilelist
変数に格納されているPDFファイルをまとめて結合することができます。


結果ファイル名には結合したPDFファイルの名前を指定します。
指定しなかった場合は適当な文字列が自動的にファイル名になります。


「ファイルをアップロード」アクティビティを配置します。
ファイルには「PDFを結合」のエクスポートpdf
を設定します。
アップロード先フォルダーは適当に設定してください。





以上で完成です!大変お疲れさまでした!



StudioWebはプログラミングの知識が求められるね



慣れれば何となくで組めたりします(体験談)
PDF化/PDF結合ロボットの実行結果を確認
StudioWebの画面左上のテストボタンをクリックして実行していきます。
GoogleDriveにPDFが格納されました!


中身もばっちりでした!(PDFの中身を載せると画像が大きすぎるので割愛します)
StudioWebで作成したプロジェクト完全版
最後に完成したプロジェクトの中身をスクショで載せておきます。
ページ最下部にありますので、必要な方はご覧ください。



他にリクエストがあればコメントからどうぞ!



お仕事の依頼も待ってます



お仕事のご依頼はこちらからお願いします!




コメント