COMオブジェクトの内部エラー 複数回トライ
COMオブジェクトの内部エラー メモリ解放でもダメなら 5回トライしてみる
Imports System.Runtime.InteropServices.Marshal ... Dim IllDoc As Illustrator.Document Dim IllLay As Illustrator.Layer Dim n, i, ErrorCount As Integer Dim LayName() As String = {"col1", "col2", "copy"} For n = 0 To NewFileList.Count - 1 IllDoc = IllApp.Open(NewFilelist(n)) For i = 0 To 2 ErrorCount = 0 retry: IllLay = IllDoc.Layers.item(LayName(i)) Try If IllLay.Locked = True Then IllLay.Locked = False End If Catch ex As Exception If Not IllLay Is Nothing Then ReleaseComObject(IllLay) 'エラーで入って来たらとりあえずCOMオブジェクトの開放をして GC.Collect() 'メモリ解放をして ErrorCount = ErrorCount + 1 If ErrorCount < 5 Then 'ErrorCountが5以内なら GoTo retry 'retryからもう一度処理する End If ErrorLogList.Add(Dir(NewFilelist(n)) & "," ex.ToString) '5回試してもダメならエラーログに書き出す End Try If Not IllLay Is Nothing Then ReleaseComObject(IllLay) '通常のCOMオブジェクトの開放 GC.Collect() '通常のメモリ解放 Next IllDoc.Close(AiSaveOptions.aiSaveChanges) If Not IllDoc Is Nothing Then ReleaseComObject(IllDoc) 'COMオブジェクトの開放 Next