워크 시트에서 개인 기능을 계속 사용할 수 있습니다. 숨겨져 있지만 사용자가 이름을 입력하면 호출됩니다. 왜? 이 방법으로 작동해야합니까? 사용자 정의 함수가 VBA 프로젝트 외부에서 사용되는 것을 완전히 차단하는 방법이 있습니까? Private
키워드를 사용하여 함수를 선언하거나 Option Private Module
을 모듈 상단에 배치 해 보았습니다. 미리 감사드립니다.워크 시트에서 개인 기능을 사용할 수 있습니다.
1
A
답변
3
옵션 개인 모듈은 단순히 기능 마법사에서 UDF를 숨 깁니다. 이 옵션을 사용하면 외부 사용자로부터 모듈을 숨기고 노출 된 함수 호출을 더 쉽게 볼 수 있습니다. 함수의 이름을 아는 경우 워크 시트에서 계속 사용할 수 있습니다. 그것이 작동하는 방법입니다.
그러나 Worksheet_Change 이벤트와 같은 다른 곳에서 해당 개인 기능을 사용하려고하면 할 수 없습니다. 그리고 "Option Private Module"을 사용하여 "Public"으로 선언하면 액세스 할 수 있습니다. MSDN에서
는 :
모듈 예를 들어 옵션 개인 모듈, 공공 부분을 포함, 변수, 모듈 수준에서 선언 된 개체 및 사용자 정의 유형 내에서 계속 사용할 수 있습니다 모듈을 포함하는 프로젝트이지만 다른 응용 프로그램이나 프로젝트에서는 사용할 수 없습니다.
질문
완전히 VBA 프로젝트의 외부에서 사용되는 사용자 정의 함수를 차단하는 방법이 있나요에 대해서?
내가 사용자가 함수의 이름을 알고하지 않도록
1) 당신의 VBA 프로젝트를 보호 생각할 수있는 두 가지 방법이 있습니다. 하는 I는 추가 기능에서 일하고 있어요 것을
관련 문제
- 1. 워크 시트에서 복사 한 마지막 워크 시트에서 핸들 가져 오기
- 2. Excel 워크 시트에서 C#
- 3. Google 스프레드 시트에서 새 기능을 정의 할 수 있습니까?
- 4. 개인 기능을 호출하려면 어떻게해야합니까?
- 5. 여러 워크 시트에서 작동하는 일반 매크로를 만들 수 있습니까?
- 6. 나는 모든 ADB 기능을 사용할 수 있습니다 장치
- 7. 다른 PHP 페이지에서 PHP 기능을 사용할 수 있습니다.
- 8. SIM 카드 암호화 기능을 사용할 수 있습니까?
- 9. 이 기능을 사용할 수 없습니다.
- 10. 동일한 워크 시트에서 다른 셀 보호
- 11. EUnit에서 개인 기능을 테스트하지 못했습니다.
- 12. 다양한 Google 스프레드 시트에서 기능을 어떻게 재사용해야합니까?
- 13. 워크 시트에서 필터가 변경된 경우 어떻게 감지합니까?
- 14. 매크로가 중복 워크 시트에서 작동하지 않습니다.
- 15. Google 스프레드 시트에서 COUNTA 기능을 사용할 때 기본값 0을 설정할 수 있습니까?
- 16. 개인 인스턴스 메서드를 콜백으로 사용할 수 있습니까?
- 17. codeigniter가 cli에서 개인 기능을 호출합니다.
- 18. ssis가 엑셀 시트에서 날짜를 잘못 가져오고 있습니다.
- 19. C#의 Excel 워크 시트에서 데이터 읽기?
- 20. 다른 워크 시트에서 Excel Solver VBA 호출
- 21. 다른 워크 시트에서 매크로를 호출하는 방법?
- 22. 아이폰 OS 개인 프레임 워크
- 23. 보호 된 워크 시트에서 잉크를 허용하는 방법은 무엇입니까?
- 24. 특정 jQuery UI 기능을 사용할 수 있는지 확인하고 그렇지 않은 경우 다른 기능을 사용할 수 있습니까?
- 25. onEdit을 한 장만 사용할 수 있습니다.
- 26. 여기에 애니메이션 기능을 추가 할 수 있습니다.
- 27. Jquery가 출력 기능을 상실 할 수 있습니다.
- 28. Excel의 응용 프로그램 참조 목록에 대한 참조에서 참조를 사용할 수있는 경우 명령 기능을 사용할 수 있습니다.
- 29. generateDS를 xsd.exe처럼 사용할 수 있습니다
- 30. 서버에서만 API를 사용할 수 있습니다.
내가 주목해야에 추가하고, 추가 기능의 개인 모듈에 정의 된 함수를 만들기
2) 열려있는 모든 통합 문서에서 사용할 수 있습니다. – Cutter
사용자가 함수 이름을 어떻게 알았는지 궁금합니다. 코드가 보호되지 않습니까? –
코드를 보호하고 싶지 않습니다. 코드가 보호 되더라도 사용자는 함수 이름을 추측하거나 우연히 입력 할 수 있습니다. 차라리 코드를 읽기 어렵게 만들 것이기 때문에 저의 함수에 암호명을 사용하지 않을 것입니다. – Cutter