Referencing an ExcelApp Object That Is Running in a Different Process (by A Different User) in VB6

Viewed 37

So I have this problem with my app. It is supposed to take user inputs and archive them in Excel files. All of that would work just fine, if I didn't need to access said Excel files as a special user due to the company's safety restrictions.

I have a working piece of code that opens said restricted files just fine through creating a new process (it is pretty much the same as the one here.

I use the code as such:

Sub RunAsUser_Main()
    Dim ExeCommand As String
    ExeCommand = "C:\Program Files\Microsoft Office\Office16\EXCEL.EXE \\192.168.88.3\share\public\Workbook.xlsm"
    RunAsUser "username", "password", "domain", ExeCommand, "C:\Windows"
    
'-------------------- OPEN WORKBOOK --------------------
    Dim ret As Integer
    Dim ExcelApp As Object
    Dim WorkbookPath As String
    Dim MyWorkbook As Object
    
    On Error Resume Next
    Set ExcelApp = GetObject("Excel.Application").Application
    If ExcelApp Is Nothing Then
        ret = MsgBox("error!", vbCritical + vbOKOnly, title)
        Exit Sub
    End If
...

All goes good right until the GetObject statement. The new process starts, Excel opens the workbook as it should and I have verified that it is run by the special user.

After this though, I am unable to reference the running ExcelApp object. It just returns nothing.

What is wrong with this code? I have very little experience with creation and management of processes, so I might be failing to see the obvious.

Thanks in advance!

0 Answers
Related