2012-10-04 3 views
0

Micrososft Excel (중요한 경우 2007)과 상호 작용하는 작은 응용 프로그램을 작성하려고합니다. 내 응용 프로그램을 시작하고 Excel 인스턴스에 연결하여 시트에 하나 이상의 도형을 배치합니다 (프로그래밍 방식으로).Excel 모양 이동을 금지하거나 적어도 감지합니다.

사용자가이 모양을 이동하거나 크기를 조정하지 못하게해야합니다. 시트를 보호 할 수는 있지만 사용자가 셀 내용을 편집하고 행 및/또는 열의 크기를 조정할 수 있도록 허용해야합니다.

이것을 달성 할 방법이 있습니까?

적어도 내가 도형의 이동/크기 조정 이벤트를 감지하고 드래그가 끝날 때 프로그래밍 방식으로 되돌릴 수 있습니까?

+0

흥미로운 아이디어! 내일 아침에 가장 먼저 할 일 : D (11:07 PM at our place) –

답변

2

실제로 셀 내용을 잠그지 않고 시트를 보호 할 수 있으며 셀 속성이 잠금 해제되었음을 나타내도록 셀 속성을 수정할 필요가 없습니다.

이전에는 Interop을 사용하지 않았지만 여기 VBA의 코드가 있습니다. 이렇게하면 내용을 수정하고, 행과 열을 조정할 수 있지만 모양을 조작 할 수는 없습니다. 매개 변수가있는 워크 시트의 Protect 메서드이기 때문에 여러분이나 다른 사람이 쉽게 번역 할 수 있습니다.

Worksheet.Protect DrawingObjects:=True, Contents:=False, AllowFormattingColumns:=True, _ 
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows :=True 
+0

감사합니다. –

관련 문제