0

こんにちわ。
業務でWinActorを使用していますが、以下のマクロでエラーが発生するのでご相談です。

ノード「Excel操作(マクロ実行・戻り値・引数)」を使って

エクセルファイルからOutlookを開いて共有メールのInboxを見に行くのですが、

「OLEの操作が完了するまで待ちます。」のアラートが出るので「キャンセル」を何回か押してデバッグを表示させると

共有メールボックスを取得するところで止まっていました。

その際タスクボックス(?)には「Outlookがほかのプログラムによって使用されています。…」が表示されています。

その際の対処手順は

①タスクマネージャーのバックグラウンドプロセスにあるOutlookを終了する

②実行中のマクロをSet objOutlook=New Outlook.Application から再開させる

そうすると次に進みます。

また、なぜかエクセルファイルが読み取り専用で開くようになってしまいました。

調査方法や解決策などございましたらご教示いただきたく。

どうぞよろしくお願いいたします。

ーーーここからーーーーーー

Function chkMail() As Integer

Dim objOutlook As Outlook.Application
Dim oNamespace As Outlook.Namespace

'共有メール操作に対応
Dim mbxShare As Outlook.Store

Dim oFolder As Outlook.Folder   'フォルダー
Dim oWFfld As Outlook.Folder   'フォルダー
Dim oPOfld As Outlook.Folder   'フォルダー
Dim oPOfld2 As Outlook.Folder   'フォルダー
Dim oUNfld As Outlook.Folder   'フォルダー
Dim oATfld As Outlook.Folder   'フォルダー
Dim oSPfld As Outlook.Folder   'フォルダー
Dim oADfld As Outlook.Folder   'フォルダー
Dim oDEfld As Outlook.Folder   'フォルダー
Dim oRCfld As Outlook.Folder   'フォルダー
Dim oROfld As Outlook.Folder   'フォルダー
Dim oDFolder As Outlook.Folder  'フォルダー

Dim objMail As Outlook.MailItem
Dim n As Integer   'ループのカウンター' NameSpace オブジェクトへの参照を取得します。
Dim stSub As String
Dim stFrom As String
Dim tmp
Dim i As Integer
Dim cnt As Integer
Dim reg As New RegExp

Dim FrmWb As Workbook
Dim FrmWs As Worksheet
Dim SetWs As Worksheet

Dim ErrFLG As Integer
Dim ErrMSG()

Application.DisplayAlerts = False
Application.DisplayAlerts = True

Set FrmWb = ThisWorkbook
Set FrmWs = FrmWb.Worksheets("管理台帳")
Set SetWs = FrmWb.Worksheets("仕様")

reg.Pattern = "\d"

ReDim Preserve ErrMSG(1)
ErrMSG(1) = "メール件名"

Set objOutlook = New Outlook.Application     ←ここから再開します。
Set oNamespace = objOutlook.GetNamespace("MAPI")

'共有メールボックスを取得
Set mbxShare = objOutlook.Session.Stores.Item("Winactor共有メール") ←ここで止まります。

' 受信トレイの内容を移動####################################
Set oFolder = mbxShare.GetDefaultFolder(olFolderInbox) 

(続く)

ーーーここまでーーーー

Sunflower 回答した質問
回答とコメントは、会員登録(無料)で閲覧できるようになります。