質問: Redmineチケット★一括★というフリーツールを使用して一括登録を行おうとしています。 実行をすると、添付資料のように10件くらいまで実行してエラー画面になります。 エラー内容は「リモートサーバがエラーを返しました:(503)サーバーを使用できません」です。 原因、対処方法をご存知の方、ぜひご教授ください。 お願いいたします。。 実行中 エラー画面 503エラー
回答: たぶん、リモートプロシージャコールエラーです。 Redmineチケット★一括★ を検索してみると、エクセル経由でチケットを連続で登録できる、 とあり、「リモートサーバーがエラーを返す」や 「リモートサーバーに接続できません」という文言から、 エクセルをvba でオープン、解放を連続して行ったとき、 エクセルプロセスがメモリに残ったままで、次のエクセルvba 処理が動作したり、 エクセルの起動完了待ちを待たずにvba処理が終了してしまったとき など、range や quit や、close など、タイミング様々で RPCエラーが出てきます。 WINDOWS のイベントログにざっくりですが、この原因となった プロセスのエラー報告が記録されています。確認してください。 対処方法ですが、、、、確たる、確実な対処方法はありません。 rpcエラー 回避 などのキーワードで検索してみればわかりますが、出る場所、 出るソフト、出るタイミング、様々で、共通してるのがオフィス製品 のvba 連携やエクセル操作が主原因であることだけです。 コマンドとコマンドの間に sleep を 5 秒程度挿入出来れば 試してみてください。このスリープは、前回のエクセルがメモリに残った状態の ものが完全に破棄されるまでのざっくり時間です。 Redmineチケット★一括★ のvba を触れるならば、quit か close の前後に sleepを 入れてみてください。 sleep は、つまり、ベストエフォートです。これくらい間隔おけば 出ないだろう、という出るかもしれない潜在的な不具合は残ったままです。 sleepじゃなくて、エクセルプロセス🆔から、vba マクロが動作してる プロセスの終了監視が出来れば、それも一つの手かもしれません。 sleep 気持ち悪いですが、sleep するコマンドを作って、チケット発行処理の 処理間に噛ませるか、Redmineチケット★一括★の中身をいじってゴニョゴニョするか、 です。 当方、の主原因は、エクセルのアドオンの起動完了前にVBA処理が終了してしまい quit でエラーが出ました。