Путь к файлу отправляется в виде строки в мой код ниже из программы, написанной на C #, и мой код запускается ниже.
Мой код ниже ищет другой путь к файлу в столбце C книги Excel, который называется«RT_CMM_Data_File_Paths.xlsx»
Мой код ниже выдает ошибку, когда путь к файлу в столбце C введен неправильно.В частности, расширение файла было опечатано как ".xlxs" вместо ".xlsx"
Я, по сути, не хочу, чтобы моя программа когда-либо останавливалась.Поэтому я попытался создать обработчик ошибок, который будет записывать путь к файлу, который вызвал ошибку, а затем закроет мой макрос, чтобы программа C # могла отправить следующий путь к файлу.
Однако вместо этого мой код отображаетокно сообщения "не удается найти путь к файлу" или что-то ... Когда я нажимаю "ОК", моя программа завершает работу (в основном ничего не делает) и закрывается, и программа C # успешно отправляет следующий путь к файлу, как мне и нужно ...Я не хочу нажимать ОК ... как это исправить?
Sub RT_CMM_DATA_COMPILER(Path As String)
Dim ArrNames
Dim wkbTemp As Workbook
Dim Table As Workbook
ArrNames = Array("X-Axis", "Y-Axis", "Z-Axis", "Flatness", _
"Length-X", "Length-Y", "Length-Z", "Length_X", "Length_Y", _
"Length_Z", "Length", "Angle", "Angle-XY", "Angle-XZ", "Angle-YX", _
"Angle-YZ", "Angle-ZX", "Angle-ZY", "Radius", "Diameter", "Flatness", _
"Straightness", "Parallelism", "Perpendicular", "Circularity")
currentData_filePath = Path
On Error GoTo ErrHandler
Workbooks.Open Filename:=currentData_filePath
Set wkbTemp = ActiveWorkbook
watchFolders_list = "S:\PED (Production Engineering Department)\bla...bla...bla...\RT_CMM_Data_File_Paths.xlsx"
Workbooks.Open Filename:=watchFolders_list
Set watchFolders_list = ActiveWorkbook
watchFolders_list.Activate
lastShtRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Table_Path = WorksheetFunction.VLookup(Left_dataPath, ActiveSheet.Range("A2:C" & lastShtRow), 3, False)
Workbooks.Open Filename:=Table_Path
Set Table = ActiveWorkbook
Application.DisplayAlerts = False
wkbTemp.Saved = True
Table.SaveAs Filename:=Table_Path
Table.Close SaveChanges:=False
Workbooks.Close
Exit Sub
ErrHandler:
Workbooks.Open Filename:="S:\PED (Production Engineering Department)\bla...bla...bla...\Error_Log.xlsx"
Set ErrorLog = ActiveWorkbook
ErrorLog.Activate
unusedRow = Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).Row
Range("A" & unusedRow).Value = currentData_filePath
Application.DisplayAlerts = False
ErrorLog.Saved = True
ErrorLog.Save
Workbooks.Close
Resume Next
End Sub