Прошу слишком не пинать слабо знаком с COM, OLE:
Есть строчки программы на VBS:
Set objExcel = CreateObject("Excel.Application")
или
Set adoCommand = CreateObject("ADODB.Command")
или
Set adoConnection = CreateObject("ADODB.Connection")
Если это переписать на FreePascal (Lazarus)
будет
objExcel := CreateOleObject('Excel.Application');
adoCommand := CreateOleObject('ADODB.Command');
adoConnection := CreateOleObject('ADODB.Connection');
А вот как перевести c VBS на FreePascal (Lazarus)
Стоки
Set objUser = GetObject("LDAP://" & сUserPath )
Set obj = GetObject("WinNT://" & ..... )
Set obj = GetObject("WinMgmts:") ?
GetActiveOleObject Явно не подходит.....
Вот если objExcel := GetActiveOleObject('Excel.Application',....);
то ПРИ ЗАПУЩЕННОМ Excel, найдет его экземпляр
А вот то что перечисленно выше....