Here is one such COM Addin and the negative effect is approx 3 secs.

Here is a testing code for both go excel and Excel dll method. Both seem to be equally as fast with this simple task.
'Option Explicit On
'AddReference "microsoft.office.interop.excel.dll"
'Imports XL = Microsoft.Office.Interop.Excel
Sub Main
'https://forums.autodesk.com/t5/inventor-forum/ilogic-measure-time-elapsed-during-run-rule/td-p/5578813
Dim stopWatch As New Stopwatch()
stopWatch.Start()
Call ExcelApplication_dll()
'Call Go_Excel()
stopWatch.Stop()
' Get the elapsed time as a TimeSpan value.
Dim ts As TimeSpan = stopWatch.Elapsed
' Format and display the TimeSpan value.
Dim elapsedTime As String = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10)
MsgBox("RunTime " & elapsedTime)
End Sub
'5.45 5.55 secs 3d Connexion on, 3.04,2.86,2.36 3d Connexion off
Sub ExcelApplication_dll()
Dim i As Integer = 0
Dim xlApp As XL.Application = CreateObject("Excel.Application")
Dim xlWb As XL.Workbook = xlApp.Workbooks.Open("C:\Users\BOM.xlsx")
'comment out or change to false in order to not show Excel
'xlApp.Visible = True
Dim xlWs As XL.Worksheet = xlApp.ActiveWorkbook.ActiveSheet
Do Until i > 600
i = i + 1
xlWs.Range("A" & i).Value = i
Loop
xlWb.Save
xlWb.Close
'xlApp.Quit
End Sub
'5.3 Secs 3d Connexion on, 2.89,2.62,3.07-3d Connexion off
Sub Go_Excel()
Dim i As Integer = 0
GoExcel.Open("C:\Users\BOM.xlsx", "Sheet1")
Do Until i > 600
i = i + 1
GoExcel.CellValue("A" & i ) = i
Loop
GoExcel.Save
GoExcel.Close
End Sub
If this solved a problem, please click (accept) as solution.
Or if this helped you, please, click (like)
Regards
Alan