【Box】フォルダ内のファイルリンクを一括取得してExcelに貼り付ける方法
【Box】フォルダ内のファイルリンクを一括取得してExcelに貼り付ける方法
Boxのフォルダ内にあるファイルのリンクを、1件ずつコピーするのは意外と手間がかかります。
この記事では、Google Chromeの開発者ツールを使って、 現在開いているBoxフォルダ内のファイル名とリンクを一括取得し、Excelへ貼り付ける方法 を紹介します。
Power Automate DesktopやBox APIは使用しません。
Boxとは
Boxは、企業や組織がファイルや文書をクラウド上で保存・管理し、 社内外の利用者と共有できるコンテンツ管理サービスです。
パソコン、スマートフォン、タブレットなどからファイルへアクセスでき、 取引先や委託業者などの社外ユーザーをフォルダへ招待して、 設定された権限の範囲内で共同作業を行うこともできます。
Boxを運営するBox, Inc.は2005年に設立され、 日本では株式会社Box Japanがサービスを展開しています。
一般的なオンラインストレージとしての機能に加えて、 アクセス権限の設定、ファイルのバージョン管理、共同編集、 電子署名、ワークフロー、AIを利用した文書活用などにも対応しています。
今回取得するのは、Boxにログインし、 対象ファイルへのアクセス権を持つ利用者が開くための通常URLです。 Boxの鎖マークから作成する共有リンクとは異なります。
この方法でできること
- Boxのページに表示されているファイル名を取得
- 各ファイルのBox通常URLを取得
- Excel、PDF、XDWなどをまとめて取得
- 同じURLが複数見つかった場合は重複を除外
- 取得結果をExcelへ2列で貼り付け
Excelへ貼り付けると、次のような一覧になります。
| ファイル名 | Boxリンク |
|---|---|
| 区域調書_KEN●●12_●●2.xlsx | https://app.box.com/file/xxxxxxxx |
| 区域調書_213●●_加●●.xdw | https://app.box.com/file/xxxxxxxx |
使用するもの
- Google Chrome
- 対象のBoxフォルダを閲覧できるアカウント
- Microsoft Excel
Boxフォルダの所有者ではなく、外部のゲストユーザーでも、 対象ファイルを閲覧できる場合はリンクを取得できます。
手順1:Boxの対象フォルダを開く
Google Chromeで、リンクを取得したいBoxフォルダを開きます。
ファイル数が多い場合は、 ファイル一覧を一番下までスクロールしてください。
Boxでは、ページ上に読み込まれているファイルだけが取得対象になる場合があります。
- Boxの対象フォルダを開く
- ファイル一覧を一番下までスクロールする
- 数秒待つ
- 全ファイルが表示されたことを確認する
手順2:Chromeの開発者ツールを開く
Boxフォルダを表示した状態で、キーボードの次のキーを押します。
F12
F12で開かない場合は、次のキーを押します。
Ctrl + Shift + I
Chrome画面の右側または下側に、開発者ツールが表示されます。
手順3:Consoleを開く
開発者ツール上部の「Console」をクリックします。
Elements | Console | Sources
「Console」が見えない場合は、上部の「>>」をクリックすると選択できます。
手順4:初回のみコードの貼り付けを許可する
ChromeのConsoleへ初めてコードを貼り付ける場合、 貼り付けを禁止する警告が表示されることがあります。
警告が表示された場合は、Consoleの一番下にある 青い「>」の右側をクリックします。
続いて、次の文字をコピーせず、キーボードで直接入力します。
allow pasting
入力後、Enterキーを押します。
「allow parent」や「allow paste」ではありません。
半角英字で正確に「allow pasting」と直接入力します。
手順5:全ファイルのリンクを一括取得する
Consoleの一番下にある「>」の右側へ、次のコードを貼り付けます。
下のコード欄をクリックするとコード全体が選択されます。 選択後にCtrl+Cでコピーしてください。
コードをConsoleへ貼り付けたら、Enterキーを押します。
手順6:取得結果を確認する
正常に実行されると、Consoleにファイル名とリンクの一覧が表示されます。
最後に、次のようなメッセージが表示されます。
15件、全ファイルのリンクをコピーしました
件数は、Boxフォルダ内でページに読み込まれているファイル数によって変わります。
このメッセージが表示された時点で、 ファイル名とリンクの一覧は、すでにクリップボードへコピーされています。
Console上に表示された表を、マウスで選択してコピーする必要はありません。
手順7:Excelへ貼り付ける
- Excelを開く
- 新しいシートなどの空いているセルを選択する
- Ctrl+Vを押す
次の2列に分かれて貼り付けられます。
- A列:ファイル名
- B列:Boxリンク
1行目には「ファイル名」と「Boxリンク」の見出しが入ります。
Excelファイルだけを取得する場合
拡張子が「.xlsx」のファイルだけを取得する場合は、 次のコードを使用します。
PDFファイルだけを取得する場合
拡張子が「.pdf」のファイルだけを取得する場合は、 次のコードを使用します。
Excel、PDF、XDWだけを取得する場合
対象をExcel、PDF、XDWに限定する場合は、次のコードを使用します。
取得されるリンクについて
今回の方法で取得されるリンクは、主に次の形式です。
https://app.box.com/file/ファイルID
これは、Boxにログインし、 対象ファイルへのアクセス権を持つ利用者が開くための通常URLです。
Boxの鎖マークから作成される、次のような共有リンクとは異なります。
https://app.box.com/s/共有リンクID
共有リンクの有効期限との違い
会社や組織のBoxで共有リンクを作成すると、 管理者が設定したセキュリティポリシーによって、 共有リンクに有効期限が自動設定されることがあります。
共有リンクに有効期限が設定されている場合、 期限を過ぎると、その共有リンクからファイルへアクセスできなくなります。
一方、今回の方法で取得しているのは、 共有リンクではなく、Box上のファイルを開くための通常URLです。
そのため、今回取得した通常URLには、 共有リンクとしての有効期限は設定されません。
共有リンクではないため、共有リンクに設定される自動有効期限の影響を受けません。 継続して使用するExcel管理表などに、Boxファイルへの参照先を記載する用途に向いています。
有効期限が設定されないからといって、 誰でも無期限にファイルを開けるという意味ではありません。
通常URLからファイルを開くには、 その利用者がBoxへログインし、対象ファイルへのアクセス権を持っている必要があります。
ファイルへの権限が削除された場合、ゲスト招待が解除された場合、 ファイルが削除された場合などは、通常URLを保存していてもアクセスできなくなります。
| 比較項目 | 通常URL | 共有リンク |
|---|---|---|
| URL例 | https://app.box.com/file/ファイルID | https://app.box.com/s/共有リンクID |
| 今回の方法で取得 | 取得できる | 取得しない |
| 共有リンクの有効期限 | 設定されない | 組織の設定により自動設定される場合がある |
| アクセス権 | 対象ファイルへのアクセス権が必要 | 共有リンクの公開範囲によって異なる |
| 主な用途 | 社内や招待済みゲスト向けの管理表 | 設定した範囲の利用者へのファイル共有 |
通常URLをExcelへ整理するメリット
Boxに保存したファイルが増えると、 必要なファイルを毎回フォルダから探す作業に時間がかかります。
ファイル名とBoxリンクの一覧をExcelへ整理しておけば、 箇所番号、案件名、地区名、ファイル形式などから対象ファイルを確認し、 Excel上のリンクから直接ファイルを開けます。
例えば、次のような管理に利用できます。
- 箇所番号ごとの区域調書一覧
- Excel、PDF、XDWなどの成果品リンク一覧
- 案件ごとの納品ファイル一覧
- 協力会社や委託業者とのファイル確認表
- 修正対象ファイルの管理表
想定より取得件数が少ない場合
Boxに表示されているファイル数より、 取得された件数が少ない場合は、次の手順を試します。
- 開発者ツールをいったん閉じる
- Boxのファイル一覧を一番下までスクロールする
- 数秒待って全ファイルを読み込ませる
- F12で開発者ツールを開く
- Consoleでコードを再実行する
Boxがファイルをページ分割している場合は、 ページごとにコードを実行する必要があります。
「0件」と表示された場合
次のように表示された場合は、 現在開いているページからファイルリンクを検出できていません。
0件、全ファイルのリンクをコピーしました
次の点を確認してください。
- Boxのフォルダ一覧画面を開いているか
- ファイルのプレビュー画面になっていないか
- ファイル一覧の読み込みが完了しているか
- ファイル一覧を一番下までスクロールしたか
一度Boxのファイル一覧画面へ戻り、 ページの読み込みが終わってから再実行します。
赤色や黄色のエラー表示について
Consoleには、Box側の通信や画面表示に関する 赤色または黄色のメッセージが、 コードを実行する前から表示されていることがあります。
今回の操作では、最後に次のメッセージが表示されれば、 基本的にリンク取得は成功です。
○件、全ファイルのリンクをコピーしました
セキュリティ上の注意
開発者ツールのConsoleには、 内容を理解していないコードを安易に貼り付けないでください。
この記事のコードは、現在のページにあるファイル名と 「/file/」を含むURLを取得して、 クリップボードへコピーする処理です。
ファイルの削除、編集、移動、アップロード、 共有設定の変更などは行いません。
取得したExcel一覧にはBoxのファイルURLが含まれるため、 Excelファイルの共有先にも注意してください。
まとめ
- ChromeでBoxの対象フォルダを開く
- 必要に応じてファイル一覧を一番下までスクロールする
- F12で開発者ツールを開く
- Consoleを選択する
- 初回のみ「allow pasting」を手入力する
- リンク取得コードを貼り付けてEnterを押す
- ExcelでCtrl+Vを押す
Box APIやPower Automate Desktopを使わず、 ページに読み込まれているファイル名と通常URLをまとめて取得できます。
Box内で作成する共有リンクには、 会社や組織のセキュリティポリシーによって 有効期限が自動設定される場合があります。
これに対して、今回取得するのは共有リンクではなく通常URLであるため、 共有リンクとしての有効期限は設定されません。
ただし、通常URLを利用できるのは、 Boxにログインし、対象ファイルへのアクセス権を持つ利用者です。 利用者の権限が解除された場合やファイルが削除された場合は、 URLを保存していてもアクセスできなくなるため注意が必要です。
コメント
コメントを投稿