다음 코드를 사용하여 Powerpoint Presentation에서 매크로를 만들었습니다. 이 작은 코드를 실행할 때 "시각적 기본 프로젝트에 대한 프로그래밍 방식의 액세스는 신뢰할 수 없습니다"라는 예외가 발생했습니다. 옵션에서 보안 센터 설정을 변경하면이 문제를 해결할 수 있습니다. 그러나 코드를 통해 이러한 설정을 어떻게 바꿀 수 있는지 누군가가 나를 도울 수 있습니까? 어떤 파워 포인트 interop APIs? pl 제안 .. 미리 감사드립니다. 코드를 통해 매크로 설정을 활성화하는 방법은 무엇입니까?
내 샘플 코드 : 결국PowerPoint.Application oPPT = new PowerPoint.Application();
oPPT.Visible = Office.MsoTriState.msoTrue;
//Add New Presentation
PowerPoint.Presentations oPresSet = oPPT.Presentations;
PowerPoint.Presentation oPres = oPresSet.Add(Office.MsoTriState.msoTrue);
//Add Slides to the Presentation
PowerPoint.Slides oSlides = oPres.Slides;
PowerPoint.Slide oSlide = oSlides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitle);
VBComponent vbc = oPres.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule);
string code = "sub VBAMacro()\r\n" + "ActivePresentation.Close\n" + "End Sub";
vbc.CodeModule.AddFromString(code);
나는 이것을 할 수 있을지 의심 스럽다. 신뢰할 수없는 코드가 사용자의 허가없이 실행되지 않도록하는 요지는 악성 코드가 실행되지 않도록하는 것입니다. 악의적 인 코드가 사용자에게 먼저 묻지 않고 실행될 수 있다면 전체 목표를 무력화시킬 것입니다. 그렇지 않습니까? –
그 보안 정책에 대한 지식이 거의 없습니다. 그러나 정품 사용자가 자동화 된 방식으로 프레젠테이션에서 매크로를 실행하지 못하도록 제한하지 않습니까? – satya
아니요. 사용자는 옵션을 변경하여 코드가 실행되고 있음을 알 수 있습니다 (언급 한대로). 그러나 코드에서이를 수행하면 코드가 사용자의 동의없이 완료 될 수 있습니다. 이는 코드가 나쁜 일을 할 수 있음을 의미합니다. 사람들은 VBA 매크로에서 항상 맬웨어를 작성하는 데 사용되었습니다. 그것이 보안 설정이 처음부터 확립 된 이유입니다. –