Microsoft Excel 매크로 잠금
저는 많은 회사들에게 잠재적으로 가치가 있는 엑셀 매크로를 작성하는 데 시간을 보냈습니다.
사람들이 소스를 보지 못하도록 매크로를 잠그거나 다른 사람에게 전달하는 방법은 무엇입니까?
감사해요.
VBA 코드를 작성할 때는 일반 사용자가 VBA 매크로 코드를 볼 수 없도록 하는 것이 좋습니다.이는 사용자의 지적 재산을 보호하거나 사용자가 코드를 조작하는 것을 방지하기 위한 것입니다.Excel의 보호 기능은 안전하다고 간주되는 기능과는 거리가 멀다는 것을 명심하십시오.또한 www에서는 많은 VBA 암호 복구 [도구]를 판매하고 있습니다.
코드를 보호하려면 Excel Workbook을 열고 Tools > Macro > Visual Basic Editor(Alt+F11)로 이동합니다.이제 VBE 내에서 Tools > VB로 이동합니다.프로젝트 속성을 클릭한 다음 보호 페이지 탭을 클릭하고 "프로젝트 보기에서 잠금"을 선택한 다음 암호를 입력하고 다시 입력하여 확인합니다.이 작업을 수행한 후 보호를 적용하려면 워크북을 저장하고 닫고 다시 열어야 합니다.
(광산 강조)
최선의 방법인 것 같군요.그것은 당신의 코드를 훔치기로 결심한 사람들을 막지는 못하겠지만, 그것은 캐주얼한 해적들을 막기에 충분합니다.
코드의 컴파일된 복사본을 배포할 수 있더라도 사람들이 코드를 압축 해제하는 것을 막을 수는 없습니다.
워크북과 워크시트를 암호로 보호할 수 있는 것처럼 Excel의 매크로를 보거나 실행하지 못하도록 암호로 보호할 수 있습니다.
워크시트에 명령 단추를 놓고 다음 코드 행을 추가합니다.
먼저 보호할 단순 매크로를 만듭니다.
Range("A1").Value = "This is secret code"
다음으로 도구, VB 프로젝트 속성을 차례로 클릭합니다.
도구, VB 프로젝트 속성...을 클릭합니다.
- [보호] 탭에서 "보기 위해 프로젝트 잠금"을 선택하고 암호를 두 번 입력합니다.
암호 두 번 입력
확인을 클릭합니다.
Excel 파일을 저장하고 닫았다가 다시 엽니다.코드를 확인해 보십시오.
다음 대화 상자가 나타납니다.
암호를 볼 수 없도록 보호
명령 단추를 클릭하여 코드를 실행할 수는 있지만 암호를 모르는 경우에는 코드를 더 이상 보거나 편집할 수 없습니다.다운로드 가능한 Excel 파일의 암호는 "쉽다"입니다.
- 매크로가 실행되지 않도록 암호로 보호하려면 다음 코드 행을 추가합니다.
Dim password As Variant password = Application.InputBox("Enter Password", "Password Protected") Select Case password Case Is = False 'do nothing Case Is = "easy" Range("A1").Value = "This is secret code" Case Else MsgBox "Incorrect Password" End Select
시트의 명령 버튼을 클릭했을 때의 결과:
암호가 실행되지 않도록 보호됨
설명:매크로는 Application 개체의 InputBox 메서드를 사용합니다.사용자가 취소를 클릭하면 이 메서드는 False를 반환하고 아무 일도 일어나지 않습니다(InputBox가 사라집니다).사용자가 비밀번호를 알고 있을 때만 비밀 코드가 실행됩니다.입력한 암호가 올바르지 않으면 MsgBox가 표시됩니다.프로젝트를 볼 수 없도록 보호되어 있기 때문에 사용자는 Visual Basic Editor에서 암호를 볼 수 없습니다.
이 신제품은 http://hivelink.io 에서 확인할 수 있으며, 민감한 매크로를 적절하게 보호할 수 있습니다.
Excel 암호 시스템은 매우 취약합니다. 기본 HEX 편집기를 사용하여 2분 만에 암호를 해독할 수 있습니다.저는 어떤 것도 보호하기 위해 이것에 의존하는 것을 추천하지 않을 것입니다.
저는 이 주제에 대해 광범위한 글을 썼습니다: Excel 워크북의 코드 보호?
당신은 당신의 vba 코드에 비밀번호를 설정할 수 있지만 이것은 꽤 쉽게 깨질 수 있습니다.
추가 기능을 생성하여 DLL로 컴파일할 수도 있습니다.자세한 내용은 여기를 참조하십시오.그것이 적어도 코드를 보호하는 가장 안전한 방법입니다.
안부 전해요,
현대적인 접근 방식은 중요한 코드에 대한 VBA에서 벗어나 a를 작성하는 것입니다.NET에서 관리하는 추가 기능은 c# 또는 vb.net 을 사용하여 www에 많은 리소스가 있으며 MS Visual Studio의 Express 버전을 사용할 수 있습니다.
AppProtect 또는 QuickLicense/AddLicense와 함께 OfficeProtect를 사용하여 Excel 스프레드시트에서 Mac 또는 Windows용 보호된 응용 프로그램을 생성합니다.www.excelsoftware.com/videos 에는 "Protect Excel Spreedsheet"이라는 데모 비디오가 있습니다.
언급URL : https://stackoverflow.com/questions/6760981/lock-down-microsoft-excel-macro
'programing' 카테고리의 다른 글
VB에 매개 변수가 있는 하위 새(생성자)를 상속할 수 있습니까? (0) | 2023.05.14 |
---|---|
Mongoose(또는 MongoDB)에서 일시적인 트랜잭션 오류란 무엇입니까? (0) | 2023.05.14 |
전체를 만드는 방법.NET Framework 애플리케이션을 단일 .exe 파일로 사용하시겠습니까? (0) | 2023.05.09 |
OSX의 Xcode를 어떻게 최신 버전으로 업데이트합니까? (0) | 2023.05.09 |
비동기는 C#에서 어떻게 작동합니까? (0) | 2023.05.09 |