VBA 에서슬라이드(1) 내에서 모든 Shape 을 삭제한다고 할 때 for each를 써서 아래와 같이 해봅시다.dim shp as Shapefor each shp in ActivePresentation.Slides(1).Shapesshp.deletenext shp실행해보면 다 사라질까요?안타깝게도 의도와 달리 모두다 사라지지 않습니다.절반 정도만 사라집니다.왜 그럴까요? 첨부한 PPTM 을 매크로를 허용하고 열어봅시다.'살펴보기' 화살표를 누릅니다. 도형추가를 눌러 랜덤한 위치에 도형을 10개 만들었습니다. 그다음 도형삭제(for each를 사용)을 클릭하여 도형을 삭제해봅시다.내부적으로 아래 소스대로 작동합니다. Dim shp As Shape For Each shp In ActivePresentat..
VBA Tipz 검색 결과
VBA에서 int(Rnd * 5) 하면 0부터 4까지의 랜덤 숫자가 나온다. 1부터 5까지로 하려면Rnd*4+1로 해서 0부터 4까지 나온 수에 1을 더하면 된다. 그런데 랜덤 숫자는 바로 전에 나온 숫자와 중복된 숫자가 나올 수도 있다.이를 방지하는 방법을 생각해보자. 그저 단순히 이전 랜덤값을 저장했다가 비교할 수도 있지만중복된 수를 원천적으로 차단할 수는 없다. 그래서 배열을 이용해본다.5개의 배열에 1부터 5까지를 넣어 두고랜덤으로 배열을 섞어주는 것이다.어떤 값을 가진 배열들을 서로 섞는 것이라 중복된 수가 나올 수가 없다. 1부터 5까지의 수중에서 랜덤으로 추출한다고 가정하고소스 일부분을 보자 Private Num() As IntegerPrivate CurIndex As IntegerConst..
power point에서 고칠 수 없는 오류가 발생했습니다. 프레젠테이션을 저장하고 power point를 종료한 후 다시 시작하십시오.이런 오류 발생시 해결 방법 중 하나를 제가 올려놓은 것입니다.http://answers.microsoft.com/ko-kr/office/forum/office_2010-powerpoint/ppt-2010%EC%9D%84/a35ff2a9-443d-4f6e-8a6d-177864ced8e6바이러스보다는파워포인트에서 사용하는 메모리가 가득차서 생기는 에러로 보입니다.파워포인트 파일에는 눈에 보이지 않는 개체가 수없이 많을 수 있습니다.예를 들어 복사-붙여넣기를 하다가 보이지 않는 개체까지 복사가 되거나VBA 스크립트나 매크로에서 슬라이드쇼 중에 Shape 등의 개체를 생성한다..
최근댓글