ecoslymeです。
RPA(WinActor)を利用していると、今まで出来ていたことが急に出来なくなったという不具合があります。
大抵の場合、「待機時間」を設定することでうまいこと回避できるのですが、それでも不具合が治らない場合があります。
特に、Office(エクセル、Outlookなど)がアップデートされて、エラーが発生するということは多々あります。
この記事では、WinActorでOutlookでメール送信を行った時に、今までは問題なくメール送信できていたのに急にできなくなった場合の対処方法についてご紹介します。
WinActorについて更に知りたい方は、以下の参考書の購入をオススメします。
理解が倍速で早まります。
RPA(WinActor)のOutlook送信エラー(エラー番号:424)の対処方法
WinActorのOutlookで送信エラー(エラー番号:424)が発生した時の対処方法について早速ご紹介したいと思います。
このエラーがたびたび発生していると聞きますので、記事でまとめることにしました。
私の独断と偏見がありますので、ご対応は自己責任でお願いします。
エラー番号:424が発生する原因
エラー番号:424(以下、エラー424)が発生する原因ですが、これはOfficeのアップデートによる影響が原因なのではと思っています。
エラー424が出てくる場面は多々あると思いますが、今回は「Outlook メール送信」で発生するエラー424について考えていきます。
エラー番号:424に対応する方法
Outlook メール送信で生じた「エラー424」への対応方法についてご紹介します。
スクリプトを少しいじりますが、特に難しいことはしません。
初心者でも以下の方法を見れば誰でも対応できます。
①シナリオのスクリプトのタブを開いてください
②一番下の方にあるスクリプトをコピーしてください。
WScript.Sleep 5000
- 青字部分をコピーする
③上の方のスクリプトで「Outlook起動」の下にこのスクリプトを挿入し、5000⇒1000、5秒スリープ⇒1秒スリープへと変更する
Set oApp = CreateObject(“Outloo.Application”)
ここに貼り付ける
’名前空間の指定
Set myNameSpace = oApp.GetNamespace(“MAPI”)
- コピーした文字を「’Outloo起動」の下に貼り付けし、数字を変更する
以下のように文字を変更してください。
「5000」⇨「1000」
バージョン情報が消えてしまうというメッセージが表示されますが、問題ないと思いますのでOKとしてください。
以上で設定が完了です。
これでエラーが治らなければ、5000⇨2000(修正後であれば、1000⇨2000)へ変更してみて下さい。
エラー番号:424に対応する方法の詳細説明
上記の説明で何をしているか分からないという方のために、少し解説します。
スクリプトの各々の意味について説明します。
「’5秒スリープ」:「 ’ 」を付けると、メモとして文字を入力できますので、備忘録だと思ってください。
「WScript.Sleep 5000」:Sleepと書いていますので、5000ミリ秒(5秒)待機という意味です
英語が読めれば大体の意味が分かります。
Sleepと書いてあるので、PCがスリープ状態になってしまうのかと勘違いしてしまいそうですが、待機の意味になります。
エラー424が発生してしまう原因として、Outlookが立ち上がる前に次のスクリプトが実行されてしまうため、エラーとして認識されると私は考えています。
つまり、Outlookが起動してから少し時間を待機させておかないとエラーになってしまうということです。
いくらWinActorのシナリオで「メール送信」の後に「待機時間」を設定しても、一つの「メール送信」シナリオの中のスクリプトでエラーが発生してしまっているので、外側から何をしても意味がありません。
そのため、「Outlook起動」というスクリプトの次に1000(1000ミリ秒)待機時間を設けて、そのエラーを回避しています。
1000の待機時間で足りなければ、2000(2秒)待機に変更して試してみてくださいといったのはそのためです。
私はこの対処方法で急に発生したエラーを全て回避することができました。
なお、元々スクリプトにある「5000」は、Outlookでメールを送信を実行してから5秒以内にメール送信ボックスから消える想定のもの作られていると思います。
そのため、この5000を1000などに変更してしまうと、メールが送信される前にOutlookを閉じることになります。
Outlookからメール送信中ですがOutlookを閉じて良いですか?と怒られてしまうのでこの5000部分はデフォルトのままにして、何も触れないようにしましょう。
RPAエンジニアへの転職について
RPAエンジニアへの転職についてご興味がある方は、以下の記事をご覧下さい。
IT業界未経験でも事務作業の業務知識を持っている方が、RPAエンジニアとして転職する例は少なくありません。
IT業界にしかいない人よりも事務作業の業務フローの理解度が高く、本質的な事務作業の効率化方法を分かっているため、市場価値が高いと考えられます。
自分の市場価値をこの機会に調べてみませんか?
ecoslymeです。 最近急激に注目され始めているRPA(ロボティクス・プロセス・オートメーション)。 IT業界でもその地位は上がってきているのではないでしょうか。 […]
最後に
いかがでしたでしょうか。
WinActorの場合、ユーザーフォーラムがあるのですが、その中に回答があるとは限りません。
基本的には他のシステム素人の人も引き継げるようにスクリプトを変更しないように、存在するシナリオを組み合わせて課題をクリアにすることが重要です。
今回のようにスクリプト内で発生してしまったエラーへの対応は例外の対応ということになります。
スクリプト修正などの例外事項に関しては、ちゃんと対応方法を形にして残すか、この記事のURLをコピーして次に引き継ぐ人が分かるように残すことが非常に重要です。
エラーへの対応からどんどんRPAのスキルをアップさせていきましょう。
以下のRPAの本を常に横に置いておけばスキルアップは加速しますので、お手元に置いておくことをオススメします。