
【使用ツール】
- Excel VBA
- SeleniumBasic (ブラウザ自動操作)
【課題(Before)】
- 大量のテキスト(例:海外商品名、レビューなど)をExcelから英語に翻訳する際、DeepLのWebサイトでのコピペ作業が必須となり、手間と時間がかかる。
- APIの使用は避けたい(ランニングコストをかけたくない)というニーズがある。
【解決策(Solution)】
- Excel VBAとSeleniumBasicを連携させ、DeepLのWebサイトを自動操作するマクロを構築。
- ExcelのA列に日本語を入力し、ボタンを押すだけで、ブラウザが自動で翻訳作業を行い、翻訳結果をB列に書き出します。
【工夫点】
- データ消失の完全防止
- 再発防止策: 翻訳処理は通信環境によって停止するリスクがあります。1行翻訳が完了するごとにファイルを自動保存(
ThisWorkbook.Save)するロジックを実装し、エラーが発生してもそれまでの作業結果が失われない設計です。
- Webサイトの仕様変更に強い設計
- DeepLのサイトは仕様変更が頻繁です。入力・出力エリアの特定に際し、複数のセレクタ候補を探す「多重探索ロジック」を採用することで、ツールが急に動かなくなるリスクを低減しています。
- サーバー負荷対策と安定性
- 各処理の間にランダムな待機時間(2〜6秒)を組み込むことで、サイト側にボットと判定されにくくし、長時間の連続稼働でも安定して動作するように設計しています。