このヘルプは Web 版です。アプリのヘルプボタンから開くページと同じ内容を想定しています。
動作環境
| 対応 OS | Windows 10 / 11 を想定しています。macOS、Linux、スマートフォンでは利用できません。 |
|---|---|
| インストール方法 | 通常は配布されている MultiLibLink_Setup.exe を実行してインストールします。開発用の MultiLibLink.exe を直接起動することもできますが、通常利用ではインストーラー版を推奨します。 |
| 追加ランタイム | アプリ本体は必要な Python ライブラリを同梱した exe として配布する想定です。別途 .NET ランタイムや Python をインストールする必要はありません。 |
| ブラウザ部品 | 図書館 HP の操作には Playwright Chromium を使用します。初回実行時にブラウザ部品が無い場合、自動で準備されます。インターネット接続と、セキュリティソフトによる通信許可が必要になることがあります。 |
| ダウンロード | 配布ページは MasaTools を想定しています。最新版のインストーラーがある場合は、そちらから入手してください。 |
対応図書館
現時点で主に動作確認しているのは、大阪市立図書館の蔵書検索・予約システムです。URL に licsxp-opac を含む LICS-XP / iLis 系の画面構造を前提に、ログイン、貸出状況取得、予約状況取得、検索、予約確定を行います。
LibraXX、Calista、その他の OPAC については、画面構造やボタン名が異なる場合があるため、そのまま対応できるとは限りません。新しい図書館を追加する場合は、図書館設定でログイン URL とユーザー情報を登録し、接続確認でログインできるかを確認してください。
現在は「多くの図書館を一覧から選べるプリセット集」ではなく、図書館名・ログイン URL・ユーザー情報をアプリ内に登録して使う方式です。同じアプリ内に複数の図書館プロファイルを作成できます。
はじめて使う
初めて使う場合は、まず予約操作をせずに 今すぐ取得 だけを実行してください。取得が終わったら Excel を開き、予約中の本、借りている本、読書履歴が表示されていることを確認します。ここまで確認できてから、予約候補のチェックと予約実行に進むのが安全です。
ボタンの意味
| ボタン | 動作 |
|---|---|
今すぐ取得 |
登録ユーザーの貸出状況、予約状況、読書履歴を図書館 HP から取得し、Excel に保存します。予約候補シートも更新されます。 |
予約候補を開く |
library_data.xlsx を開き、予約候補シートを表示します。画面や版によって 取得データを開く(予約候補入力) と表示されることがありますが、同じ Excel を開く操作です。 |
予約する |
予約候補シートで 予約する にチェックした行だけを、図書館 HP で検索して予約します。 |
データフォルダを開く |
Excel、設定、バックアップが保存されているデータフォルダを開きます。通常はトラブル対応やバックアップ確認のときに使います。 |
定期的に自動取得するスケジュール実行は、現在の基本機能には含めていません。取得は 今すぐ取得 で手動実行します。メール監視を有効にした場合のみ、図書館からの通知メールをきっかけに取得処理を行います。
図書館設定
図書館名を選ぶか、追加します。図書館ログイン用 URLに、ブラウザでログイン画面が開く URL を入力します。- カード番号とパスワードを入力し、ユーザーを追加します。
- 登録ユーザー一覧で対象ユーザーを選び、
接続確認を実行します。 - 接続できたら
設定を保存を押します。
登録ユーザーは、一覧の上から順に予約処理で使われます。ユーザーごとの予約上限に近い場合は、次のユーザーへ自動で切り替えます。
データ保存場所
取得データや設定は、通常は次のフォルダに保存されます。
%LOCALAPPDATA%\MultiLibLink\
エクスプローラーでは、アドレスバーに上記を貼り付けて Enter を押すと開けます。アプリの データフォルダを開く ボタンからも開けます。
| ファイルまたはフォルダ | 内容 |
|---|---|
【図書館名】library_data.xlsx | 貸出状況、予約状況、読書履歴、予約候補を保存するメインの Excel です。 |
config.json | 図書館設定、ユーザー設定、メール設定を保存します。 |
.secret_key | パスワード暗号化に使う鍵です。設定をバックアップする場合は、このファイルも一緒に保管してください。 |
backups\ | Excel の自動バックアップを保存します。 |
backups\【図書館名】library_data\history_backup.jsonl | 読書履歴を追加保存する補助ログです。通常は開く必要はありません。 |
debug\debug.log | 動作確認用のログです。トラブル調査で使います。 |
Excel を開いたまま 今すぐ取得 や 予約する を実行すると、Windows からアクセス拒否されることがあります。実行前に library_data.xlsx を閉じてください。
予約候補の作られ方
今すぐ取得 が終わると、予約候補シートが自動で更新されます。候補は、直近約 2 か月の読書履歴、現在借りている本、現在予約している本を組み合わせて作成します。
基本ロジック
- 読書履歴からシリーズ名と巻数を読み取ります。
- 同じシリーズと判断できる行は 1 行にまとめます。
- 現在借りている本、現在予約している本も同じシリーズとして確認します。
- 確認できた中で一番大きい巻数を
最終確認巻にします。 次に予約する巻は、通常最終確認巻 + 1です。
最終確認巻 は「読んだ巻」だけではありません。予約中の巻や、現在借りている巻がある場合は、それらも含めて一番先に進んでいる巻を指します。
予約中の巻がある場合
最終確認巻が予約中で、予約状態が 待ち の場合、次巻を予約すると順番が前後する可能性があります。そのため、状態は 予約待ちのため保留 になり、次巻予約の対象から外れます。
最終確認巻が 取置中 や確保済みと判断できる場合は、次の巻を予約しても順番が崩れにくいため、次巻予約の対象にできます。
シリーズ認識と検索ワード
タイトルには巻数、叢書名、著者名、出版社、副タイトルなどが混ざっています。MultiLibLink はこれらをできるだけ整理し、シリーズ名と巻数を抽出します。
NARUTO 巻ノ70のような巻表記を読み取ります。VOLUME74、第10巻、22などの表記も巻数として扱います。- 副タイトルだけで検索結果が 1 冊に絞られすぎる場合は、検索ワードから外します。
- 同じシリーズでも、別シリーズと判断すべきものは分けます。例として
ジョジョの奇妙な冒険とストーンオーシャンは別シリーズとして扱います。
| 例 | 推奨される検索ワード | 理由 |
|---|---|---|
| 世界史探偵コナン | 世界史探偵コナン + 歴史まんが | 副タイトルを入れると 1 冊に絞られすぎるため、シリーズ全体が出る語にします。 |
| 日本史探偵コナン | 日本史探偵コナン + 歴史まんが | 世界史探偵コナンと同様に、シリーズ名と叢書の語で検索します。 |
| 名探偵コナン VOLUME74 | 名探偵コナン + 少年サンデーコミックス、しぼり込みに VOLUME74 | 検索語は広めにし、巻数はしぼり込みで特定します。 |
| Slam dunk 完全版 | "Slam dunk" + 完全版 デラックス | 空白を含む語は引用符付きで扱い、重すぎる検索を避けます。 |
| うまくなろうトランペット Band journal book | うまくなろうトランペット + Band journal book | タイトル本体と叢書名の 2 語に分けます。 |
| かみさまのベビーシッター | かみさまのベビーシッター | 余分な記号や重複語を外します。 |
大阪市立図書館の検索では、検索結果が 1000 件を超えると検索条件を変更するよう求められます。この場合、状態は 検索語要確認(1000件超過) になります。シリーズ名だけで広すぎる場合は、叢書名を検索ワード2に入れるなどして絞り込んでください。
予約候補シート
予約する にチェックを入れ、必要に応じて検索ワードや予約冊数を修正します。主な列
| 列 | 説明 |
|---|---|
| 予約する | 予約実行の対象にする場合にチェックします。チェックは次回の 今すぐ取得 後も、同じシリーズであれば引き継がれます。 |
| 状態 | 検索や予約の結果、保留理由を表示します。 |
| シリーズ名 | アプリが同じシリーズと判断した名前です。 |
| 最終確認巻 | 読書履歴、貸出中、予約中から確認できた最大の巻数です。 |
| 次に予約する巻 | 通常は 最終確認巻 + 1 です。予約実行ではこの巻を探します。 |
| 検索ワード1 / 検索ワード2 | 図書館 HP で検索する語です。検索しにくい場合はここを手動で修正します。 |
| 予約冊数 | 同じシリーズを複数巻まとめて予約したい場合に 2 以上を指定します。巻数の小さい順に受取順を指定します。 |
内部管理用に、図書館結果タイトル、実行ユーザー、最終処理日時、巻しぼり込み接頭辞、シリーズキーなどの列を持つ場合があります。通常は表示や編集の対象ではありません。
状態列の意味
| 状態 | 意味 | 次にすること |
|---|---|---|
| 未検索 | まだ予約実行で検索していない候補です。 | 予約する場合はチェックして実行します。 |
| 検索語要確認 | 検索ワードや巻数が不足しています。 | 検索ワード1、検索ワード2、次に予約する巻を修正します。 |
| 検索語要確認(1000件超過) | 検索結果が多すぎます。 | 検索ワード2を追加するなどして絞り込みます。 |
| 予約待ちのため保留 | 最終確認巻が予約待ちのため、次巻を先に予約しないよう保留しています。 | その巻が取置中になった後、今すぐ取得 で更新します。 |
| 検索結果なし | 検索したが対象巻が見つかりませんでした。 | 検索ワードを見直します。図書館に所蔵がない場合もあります。 |
| 検索失敗(タイムアウト) | 通信状況や図書館 HP の応答遅延で検索が完了しませんでした。 | 時間を置いて再実行します。必要に応じて検索ワードを軽くします。 |
| 予約済 | 今回の予約、または予約状況一覧での確認により予約成立を確認しました。 | 次に進むには 今すぐ取得 で候補を更新します。 |
| 予約済のため対象外 | 同じ巻が既に予約シートに存在するため、重複予約を避けました。 | 通常は何もしません。 |
| 一部予約済 | 複数巻まとめて予約したうち、一部だけ予約済みまたは対象外になっています。 | 予約候補と予約シートを確認します。 |
| 予約未成立(一覧未反映) | 予約操作後、予約状況一覧で反映を確認できませんでした。 | 同日中の再実行は避けます。図書館 HP で実際の予約状況を確認します。 |
| 未処理(前候補未成立) | 前の候補の成立が確認できず、安全のため後続処理を止めました。 | 予約状況を確認し、必要なら再実行します。 |
| 予約枠不足 | 登録ユーザーの予約枠が不足しました。 | 予約枠に空きができてから再実行します。 |
| 指定ユーザー予約枠不足 | 予約ユーザーを指定している候補で、そのユーザーの予約枠が足りません。 | 指定ユーザーを変更するか、予約枠が空いてから実行します。 |
予約実行
- 予約候補シートで
予約するにチェックします。 - Excel を閉じます。
- アプリの
予約するを押します。 - 確認画面で対象を確認し、問題なければ実行します。
予約上限とユーザー切り替え
大阪市立図書館では、登録ユーザー 1 人につき予約上限を 15 件として扱います。MultiLibLink は登録ユーザー一覧の上から順に処理します。
予約後に 15 件へ到達する割り当ては行わず、ひとつ手前で次のユーザーへ切り替えます。内部的には 15 - 現在予約数 - 1 を、そのユーザーで今回割り当て可能な冊数として扱います。たとえば現在 14 件のユーザーには 1 冊も追加せず、次のユーザーへ進みます。
今すぐ取得 から 10 分以内に予約処理を行う場合、直前取得で得た予約数を利用し、予約 15 件のユーザーは再確認せずにスキップします。
複数巻をまとめて予約する場合
予約冊数 を 2 以上にすると、次に予約する巻から連続する巻をまとめて予約します。図書館 HP のカートに追加し、巻数の小さい順に受取順を指定します。
ただし、対象巻の一部が見つからない場合や、予約枠に収まらない場合は、まとまりを分割せずに次のユーザーへ移るか、未処理として記録します。
メール監視
メール監視は任意機能です。通常の 今すぐ取得 と 予約する だけなら設定しなくても使えます。
何を監視するか
図書館設定で有効にした図書館について、指定した件名キーワードを含むメールを監視します。たとえば 予約資料がご用意できました のような取置通知を検知する想定です。
通知メールを検知したとき
- 設定した待機時間があれば、その分だけ待ちます。
- 対象図書館の
今すぐ取得相当の処理を行い、予約状況や貸出状況を更新します。 - 結果通知を有効にしている場合、処理結果と
library_data.xlsxを送信先アドレスへ送ります。
接続テストで失敗する場合
Gmail の通常パスワードではなく、Google アカウントで発行したアプリパスワードを入力してください。メールアドレスに @gmail.com のドットが抜けていないか、IMAP が利用可能かも確認してください。
バックアップと復元
MultiLibLink は、Excel を保存する前に既存の library_data.xlsx をバックアップします。通常画面に復元ボタンは置いていません。誤操作を防ぐため、復元が必要なときだけ手順を確認しながら手動で戻します。
バックアップの保存場所
%LOCALAPPDATA%\MultiLibLink\backups\【図書館名】library_data\
世代管理
- 直近 30 件のバックアップは保持します。
- 90 日以内の古いバックアップは、日ごとに 1 件を残します。
- 90 日より古いバックアップは、月ごとに 1 件を残します。
- 短時間でバックアップが増えすぎないよう、直近 10 分以内にバックアップがある場合は新規作成を抑制します。
Excel をバックアップから戻す手順
- MultiLibLink と Excel を閉じます。
データフォルダを開くでデータフォルダを開きます。- 現在の
【図書館名】library_data.xlsxを、念のため別名に変更します。 backups\【図書館名】library_dataから戻したい日時の Excel をコピーします。- コピーしたファイル名を
【図書館名】library_data.xlsxに変更します。 - MultiLibLink を起動し、Excel の内容を確認します。
history_backup.jsonl の使い方
history_backup.jsonl は、読書履歴を追加保存する補助ログです。Excel バックアップから戻せない場合に、読書履歴だけを復元するための材料として使います。通常は編集しないでください。
復元作業では、現在のファイルを上書きする前に必ず別名で残してください。迷う場合はファイルを削除せず、データフォルダ全体をコピーしてから作業すると安全です。
困ったとき
Excel への書き込みでアクセス拒否される
library_data.xlsx を Excel で開いたままにしている可能性があります。Excel を閉じてから、もう一度 今すぐ取得 または 予約する を実行してください。
予約したはずなのに予約状況に出ない
アプリは予約状況一覧で反映を確認できたものだけを 予約済 とします。確認できない場合は 予約未成立(一覧未反映) として記録し、同日中の重複予約を避けます。図書館 HP で実際の予約状況を確認してください。
検索が遅い、またはタイムアウトする
検索語が広すぎる場合や、3 語以上の検索で図書館 HP が重くなる場合があります。検索ワード1と検索ワード2の 2 語程度に整理し、巻数はしぼり込みで指定する形にしてください。
メール接続テストに失敗する
メールアドレス、アプリパスワード、IMAP の有効化を確認してください。Gmail の場合、通常のログインパスワードではなくアプリパスワードが必要です。
図書館に接続できない
ログイン URL が正しいか確認してください。ブラウザでその URL を開き、ログイン画面が表示される URL を設定します。図書館側の画面構造が対応外の場合、接続確認や予約処理ができないことがあります。