Googledriveにあるファイルのループ処理

UiPathを用い、googledriveの特定フォルダ内のスプレッドシートについて、ループ処理(繰り返しフォルダー内の各ファイルのような動作をイメージしています)で中身を基幹システムへ転記したいのですが、こういったことは可能でしょうか。

ご存じの方がいらっしゃればご教示いただきたいです。

よろしくお願いいたします。

可能だと思います。

以前に他の方の質問で、ファイルやフォルダーを検索するアクティビティについて回答しました。こちらの内容で検索を行うと、条件に該当するファイルが複数ある場合にはその配列を得ることが出来ます。
これを活用して、特定のフォルダを親フォルダとするファイルだけを検索するようにクエリを設定して配列を得て、その配列を用いて繰り返し処理をすればよいかと思います。

いわさき 様

ご回答いただきありがとうございます。検索条件については理解できましたが、特定のフォルダにたどり着いた後、
(1)ファイルのリンク(URL)を順番に取得する
(2)googleスプレッドシートを使用 アクティビティを用いて、ファイル名の欄を変数化して順番に取得したファイルを入れ、シートの中身を処理する

ことが必要と思いますが、(1)に関して、gasを書くなどの方法しか調べても出てこない状況です。GAS│ドライブフォルダ内のファイルのURLを取得する方法│ スプレッドシート | CGメソッド

「配列を用いて繰り返し処理」についてもう少し詳しくご教示頂けますと幸いです。

サンプルを作成したので、そちらを参考にしてください。プロジェクトを丸ごとZIPにしておりますので、そのまま開いていただくのがスムーズかと思います。
取得した配列にはファイルを示す変数が含まれますが、その変数にはスプレッドシートのIDが含まれますので、それを利用すればスプレッドシートを操作するアクティビティを使用することが出来ます。

Forum回答_499950.zip (63.8 KB)

いわさき様

サンプルまでお作りいただきありがとうございます。

勉強させていただきます。よろしくお願いいたします。

1 Like

googleドライブをローカルPCのドライブにマップすることができるはずです。
そうすれば通常のローカルフォルダと扱いが変わらなくなりますが、そういった方法ではだめでしょうか?

https://atmarkit.itmedia.co.jp/ait/articles/2104/12/news019.html

minami 様
ご回答いただきありがとうございます。

そのような方法を存じ上げませんでした。実施してみます。

よろしくお願いいたします。

@r-takagi

Checkout the steps in the tutorial

Regards
Sudharsan

ご指摘の方法でも実現することは可能ですが、以下のデメリットがあるため、直接操作ができるならばそれが望ましいです。

  • ログインするユーザーの権限でしか操作できない
  • ファイルの同期にラグが生じて、期待どおりに読み書きできないことがある
    • あるユーザーが作成・編集した内容が 別のユーザーの(エクスプローラー上の)環境に反映されるためには時間を要します
    • そのラグによって、編集前の内容によってデータが処理されたり、実行された結果を即座に確認できないことがあります
    • この事象は、Googleだけに限らず、同様の手法で利用可能な他サービスでも発生しえます

確かにGsuiteのuploadFileアクティビティでアップロードして
即座にマップされたドライブからファイルコピーしようとするとエラーになります。
私の環境だと大体2,3秒のラグがあるようです。
そこまでクリティカルなタイミングが必要ならネイティブ対応したほうが良いと思います。

そもそも操作対象がgoogleスプレットシートとのことですから、いわさき様のご指摘通りgsuite関連のアクティビティ使うほうがよさそうですね。

ローカル管理することのリスクもご教示いただきありがとうございます。

一方、Google GSuiteアクティビティ(認証)の徹底解説
上記を参照して設定しても添付のようにブロックされるケースがございます。

(安全性の低いアプリへのアクセスをオンにできない環境です)この場合、
ローカルで管理の一択になるのではと考えております。

よろしくお願いいたします。

@r-takagi

If you chosed as UiPath change that into Custom and try again once

Regards
Sudharsan

1 Like

Sudharsan 様

わざわざご回答いただきありがとうございます。うまくいきました。

よろしくお願いいたします。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.