Ошибка SAP & Excel - SAP пытается открыть файл в Excel - PullRequest
0 голосов
/ 02 апреля 2020

Я пишу много макросов Excel, которые отправляют сообщения сценариев в SAP GUI для выполнения запросов и загрузки результатов в файл Excel. Моя проблема в том, что SAP пытается открыть файл после завершения экспорта. Я хочу подавить это действие, потому что в этот момент мой макрос перешел к другой части процесса, и открытие файла прервет его. Я исправил проблему, переименовав экспорт Excel, как только он был создан. Это просто решает проблему в будущем. Когда мои процессы макросов завершены, Excel пытается открыть файлы, которые Excel не может найти из-за переименования. Обычно я получаю это сообщение:

text

Есть ли способ через сценарии SAP или параметры среды в SAP сказать SAP не пытаться открыть экспорт?
Спасибо
Джо

1 Ответ

1 голос
/ 08 апреля 2020

Я нашел ответ на форуме SAP. Похоже, вы могли бы просто вызвать эту подпроцедуру, чтобы закрыть все другие экземпляры Excel.

' Choose one
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long '32 bit Windows
Private Declare PtrSafe Function GetCurrentProcessId Lib "kernel32" () As LongPtr '64 bit Windows

Sub closeOtherExcelInstances()
    Dim oServ As Object
    Dim cProc As Variant
    Dim oProc As Object
    Dim currentProcId

    currentProcId = GetCurrentProcessId

    Set oServ = GetObject("winmgmts:")
    Set cProc = oServ.ExecQuery("Select * from Win32_Process where NAME = 'EXCEL.EXE'")

    For Each oProc In cProc
        If oProc.ProcessId <> currentProcId Then
            Debug.Print oProc.Name, oProc.ProcessId
            errReturnCode = oProc.Terminate()
        End If
    Next
End Sub

Вот где я нашел это https://answers.sap.com/questions/737136/sap-gui-74-patch-12---disallow-excel-auto-open.html.

Удачи и счастливой автоматизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...