저는 80 명 정도의 사용자를 위해 Word VBA 매크로 앱을 만들고 있습니다. 사무실 직원의 이직률이 높기 때문에 교육이 어려워 지므로이 프로젝트에 대한 자체 부과 된 요구 사항 중 하나는 포괄적 인 친숙한 문서입니다. 그러나 이것을 보완하고 새로운 것을 시도하고 싶을 때 100 페이지짜리 문서를 열어야하는 초보자를 구하기 위해 상황 별 도움말을 제공하는 모든 사용자 폼 (5 개가 있음)에 상태 표시 줄이 필요합니다. 나는 귀찮은 툴팁을 발견한다.VBA 상태 표시 줄
내가 경험이 많지 않아, 그래서 기본적으로
하고자했다, 나는 모든 상태 문자열이 포함 된 파일이 있습니다. (이것은 현재 텍스트 파일이지만 미래에 다른 스탭이 쉽게 편집 할 수 있도록 스프레드 시트 나 CSV를 사용해야하는지 궁금합니다.) 모든 컨트롤에는 다음과 같은 함수를 나타내는 MouseMove 이벤트가 있습니다. getStatus (cID) 파일, 줄을 잡고 상태 레이블에 표시합니다. 또한 파일에서 같은 줄의 몇 가지 매개 변수 (예 : 도움말 파일의 페이지에 링크하기 위해 레이블을 클릭 할 수 있는지 여부)와 레이블의 색을 지정합니다.
그래서 몇 가지 질문에 정말 : 사용자 정의 폼이 지속적으로 파일을 참조하는 경우
응용 프로그램이 느려질 수 있을까요? 그것은 나에게 잘 느껴지지만, 나는 너무 오랫동안 그곳에 있었고, 나는 그 파일에 접근하는 유일한 사용자이다. 80 명이 끊임없이 접속할 것입니다.MouseMove가 컨트롤보다 좋은 방법입니까? 대신 좌표를 사용해야합니까?
가장 중요한 것은 (가능한 한 작은 작업을해야한다는 측면에서) 모든 단일 컨트롤에서 MouseMove 이벤트를 가질 필요가 없도록하는 방법이 있습니까? 나는 각각 수 백개 정도의 좋은 컨트롤을 가지고 있는데, 각각은 자신의 식별자를 가지고있다. (글쎄, 아직은 아니지만, 이것이 이것을 할 수있는 유일한 방법 일 것이다.) 어쩌면 폼이로드 될 때 가능한 모든 상태 라인을로드 할 수 있으므로 컨트롤이 마우스 오버 될 때마다 준비됩니다. 그렇다면 로딩 시간은 무시할만한 수준일까요?
VBA가 이미이 작업을 수행하는 데 필요한 모든 기능을 갖추고 있으며 휠을 재발 명하려고하는 경우 특히 유용합니다. 사용자가 응용 프로그램 자체를 거의 볼 수 없기 때문에 응용 프로그램 상태 표시 줄을 사용할 수 없습니다.
감사합니다.
편집 :
그것은 주위를 클릭 모두 데이터 입력 및 문서 생성의 비트입니다.
이 매크로 보안 문제는 나에게 큰 문제가되지 그래서 통제 된 환경이다 - 뭔가가 잘못되면 그것은 다른 사람의 잘못이나 문제 :
그래, 필자는 필드의 keydown이 해당 필드의 helptext를 반영하도록 상태를 변경하기로 결정했습니다. 그래서 마우스를 움직이면 여전히 상태가 바뀔 것입니다. 대부분의 사람들은 타이핑을하지 않고 마우스를 동시에 움직이기를 바랍니다. :) – user51498