RPAがExcelを開く前に外部リンクを除去しましょう。
Excel作業のRPA化を進める上で、Excelの「外部リンク」に非常に悩まされました。
外部リンクが設定されているだけでRPAがExcelを開くのに想定以上時間がかかったり、
そもそも開けなかったり・・・。
結局この問題について、私の中での解決方法は、
「そもそも外部リンクのあるExcelはRPA作業で使用しない。」
つまり、作業する前に外部リンクは削除しておいてね。って感じです。
ただ、この方法を取ることができない環境でRPA化を進める人たちもいるかと思います。
実際私もその一人でした。
こういう人たちはぜひ「スクリプト」を利用した外部リンクの排除を試してみてほしいです。
イメージ的にはRPAにスクリプトやマクロを実行させて、
対象のExcelの「起動前処理」を組み込む感じです。
下記は外部リンク削除のマクロです。
Option Explicit
Sub extLinkRemove()
ON ERROR RESUME NEXT
Dim extLinks
Dim i, a
Dim isExtLinkExist
extLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
isExtLinkExist = IsEmpty(extLinks)
If isExtLinkExist = False Then
Exit Sub
Endif
For Each a In extLinks
ActiveWorkbook.BreakLink Name:=a, Type:=xlLinkTypeExcelLinks
Next
End Sub
ExcelにはRPA操作の弊害となる機能がいくつかあるので、
これだけでは対応できないケースが存在していたりします。
そのあたりの問題についても今後書いていきたいと思います。