2009-05-18 4 views
0

저는 스크린 긁기 작업을하는 직장에서 프로젝트를 진행하고 있습니다. VBA를 사용하여 스프레드 시트에 저장된 입력을 기반으로 다른 시스템을 구동합니다. 내가 겪고있는 문제는 특정 필드가 숫자 패드에서 필드 종료 문자로 +를 필요로한다는 것입니다.Excel/VBA의 숫자 패드에서 +를 보내는 방법은 무엇입니까?

SendKeys 함수를 사용하여 다른 필드를 채우는 데 아무런 문제가 없지만, 필자가해온 연구 결과 중 어떤 것을 통과했는지 구체적으로 설명 할 수는 없습니다. 누구든지이 일을해야만 했나요? 나는 무언가가 얻지 못하는 것 같은 느낌이 든다.

답변

1

2007, 2003 및 이전 버전에 대해 잘 모르기 VBA SendKeys는 키패드 특정 키를 전송하는 것을 지원하지 않는다. 나는 키패드 키를 할 것입니다이 유틸리티를 발견했다

,

0

돌아 가기 또 다른 인생에서 나는 VB에서 SendKeys 명령의 한계를 가지고 있지만 호환 구문을했고 (숫자 패드 키 수면 등) 몇 가지 다른 특징을 가지고 PushKeys라는 프로그램을 썼습니다. 내 웹 사이트가 더 이상 작동하지 않지만 다행스럽게도 누군가가 내 PushKeys program here을 보관했습니다.

VB, Delphi, C 등의 변형이 있습니다. VB는 VBA에서 쉽게 작업 할 수 있어야합니다.

0

MS Office가 객체 모델에 어떤 것을 노출했지만 GUI에 존재하는 경우와 같이 키보드 또는 마우스 입력이 유일한 방법 인 일부 MS Office VBA 프로젝트에는 AutoIT을 사용할 수있었습니다. 당신은 VBA에서 실행할 수있는 EXE를 만들

Send("{NUMPADADD}") 

당신이하는 AutoIt 스크립트 (* .au3) 텍스트 파일을 컴파일 할 수

하는 AutoIt 스크립트에서이 숫자 패드에서 + 키를 입력하는 작업을해야 : 당신은 www.autoitscript.com

에서 AutoIT 반입을 찾을 수 있습니다

Dim RetVal As Variant 
RetVal = Shell("YourAutoITscript.exe") 

관련 문제