SAP 스크립팅을 처음 접했지만 VBA에 대한 경험이 이미 있습니다. 현재 위치에 대해 SAP의 프로세스를 자동화하려고하는 다음 문제가 있습니다. 그래서 일련의 절차를 기록하고 매크로 시트에 코드를 붙여 넣고 Excell에서 다음 명령으로 VBS 코드를 읽도록합니다.
Dim SapGuiAuto As Object
Dim Application As Object
Dim Connection As Object
Dim Session As Object
Set SapGuiAuto = GetObject("SAPGUI")
Set Application = SapGuiAuto.GetScriptingEngine
Set Connection = Application.Children(0)
Set Session = Connection.Children(0)
모든 것이 괜찮지 만 SAP가 부품을 계산하는 데 몇 분이 걸리고 그 중간에 Excel이 메시지를 생성합니다.
그래서 계속하려면 확인을 클릭해야합니다. 왜냐하면 논스톱 팝업이 나타나고 목표에 도달하기 위해 10-15 번처럼 수행해야하므로 자동화 지점을 제거해야합니다. . 매크로없이 그것을 할 때 SAP는 나에게 오류를주지 않습니다.
Application.DisplayAlerts = False이지만 작동하지 않지만 대신 다음을 제공합니다.
넷과 사이트를 검색했지만 내 질문이 구체적이기 때문에 유용한 정보가 거의 없었습니다. 추가 정보 : 1. 제 랩탑은 직장에서 나 왔으며 허가없이 추가 소프트웨어 나 업데이트를 설치할 수 없으므로 다른 해결책이 있다면 알려주십시오.
- DDE에 대한 Excel 옵션을 확인하려고했지만 스크립트를 실행하려고 할 때만 오류가 발생합니다.
내 Excel 버전은 2013입니다. 따라서 누구나 내가 생각할 수있는 세 가지 솔루션 중 하나를 달성하도록 도울 수 있습니까? 1. OLE 팝업 비활성화
확인이 나타날 때마다 자동으로 확인을 클릭하십시오
SAP가하는 동안 Excel을 멈추고 기다리시겠습니까? (그게 말이되는지 모르겠다.)-BTW, Application.Wait을 시도했지만 성공하지 못했습니다
미리 감사합니다. 누군가 나를 도와 줄 수 있기를 바랍니다. 문안 인사, 미하일
- 답변 # 1
- 답변 # 2
64 비트 Microsoft Office를 사용하는 경우 선언문에 따라 M_Delineshev가 제공하는 코드를 약간 변경해야합니다. 이 버전을 사용해보십시오 :
Private Declare PtrSafe Function _ CoRegisterMessageFilter Lib "OLE32.DLL" _ (ByVal lFilterIn As Long, _ ByRef lPreviousFilter) As LongPtr Sub KillMessageFilter() '''Original script Rob Bovey '''https://groups.google.com/forum/?hl=en#!msg/microsoft.public.excel.programming/ct8NRT-o7rs/jawi42S8Ci0J '''http://www.appspro.com/ Dim lMsgFilter As Long ''' Remove the message filter before calling Reflections. CoRegisterMessageFilter 0&, lMsgFilter ''' Call your code here.... ''' Restore the message filter after calling Reflections. CoRegisterMessageFilter lMsgFilter, lMsgFilter End Sub
관련 자료
- javascript - ajax가 완료되기를 기다리는 방법
- keras - 텍스트 분류에 GPT 3를 어떻게 사용할 수 있습니까?
- windows - 64 비트 DLL 파일에 regcap을 어떻게 사용할 수 있습니까?
- xamarin - C #에서 ContentPage에 대해 ShellNavBarIsVisible = "false"를 어떻게 설정할 수 있습니까?
- r - 각 ID에 대해 하나의 레코드를 가질 수 있도록 df를 재구성하는 방법
- macos - 폴더에서 Mac의 터미널을 어떻게 열 수 있습니까?
- python - long if else 및 문자열 일반을 어떻게 만들 수 있습니까?
- c - fscanf 함수가 한 줄을 건너 뛰도록하는 방법은 무엇입니까?
- fastify에서 ajv-i18n을 어떻게 사용할 수 있습니까?
- python - 이미지에 pyautogui를 사용하는 방법
- 이미지에 폴리 라인을 그리는 방법 (WPF)
- c - 자녀는 어떻게 만들 수 있습니까?
- sql - Bigquery에서 null 값을 다시 채우려면 어떻게해야하나요?
- c++ - hdf5에서 단일 기능에 대한 테스트를 실행하는 방법
- 텍스트 글꼴을 설정하고 VBA를 사용하여 Word의 방정식에 글꼴을 유지하려면 어떻게합니까?
- c - 파일 시작에 도달했는지 어떻게 알 수 있습니까?
- cypress : 요소가 표시 될 때까지 기다리는 방법
- html 및 css에서 링크를 중앙에 정렬하려면 어떻게해야합니까?
- php - 다음 어레이를 어떻게 구할 수 있습니까?
- shell - sed에 대한 cut 명령을 변경할 수 있습니까?
- Excel VBA에서 열에서 키워드 찾기 및 다른 열 편집
- excel : 마지막 행 IF를 찾는 매크로 도움말
- excel : 셀 색상을 확인/변경하기 위해 Change(byVal Target as Range)를 어떻게 사용합니까?
- excel : PC 스토리지 드라이브 이름 찾기
- excel : 성공적인 브라우저 시작 요청에 대한 동일한 페이로드에도 불구하고 VBA가 있는 HTTPRequest를 통한 "잘못된 다중 부분 페이로드 형식"
- excel : 수식 숫자 값을 숫자 더하기 1로 바꾸기
- excel : 값이 날짜를 따르도록 vlookup 또는 매크로를 설정하는 방법
- excel : 다른 이름으로 저장하는 동안 파일을 바꾸라는 메시지가 표시되면 "아니요" 또는 "취소"를 선택하면 VBA 1004 오류가 발생합니다.
- Excel 스프레드시트에 값을 쓰도록 확인란을 얻으려고 합니다.
- excel : 여러 If/Then 호출 옵션
위의 Storax는 실제로 문제의 해결책으로 다른 주제에 대한 링크를 제공했습니다.
여기 코드 :
개인 선언 기능 _ CoRegisterMessageFilter Lib "OLE32.DLL"_ (ByVal lFilterIn As Long, _ ByRef lPreviousFilter) Long
하위 KillMessageFilter ()
'' '원본 스크립트 Rob Bovey
End Sub