2013-07-16 3 views
0

나는 PowerPoint에서 루프 프리젠 테이션을 만들고있어 특정 날짜까지 카운트 다운이 필요합니다. 값이 범위를 벗어남 오류, vba ppt

제가

오류 다음 얻을 아래 코드를 사용해 :

런타임 오류 '-2147024809 (80070057)' 지정된 값 범위 밖이다.

Sub Countdown() 
Dim thedate As Date 
Dim daycount As Long 
Dim Icount As Integer 
Icount = ActivePresentation.Slides(1).Shapes.Count - 1 
thedate = "25/12/2013" 
daycount = DateDiff("d", Now, thedate) 
Select Case daycount 
    Case Is > 1 
     ActivePresentation.Slides(1).Shapes(Icount) _ 
     .TextFrame.TextRange = daycount & " Days to go!" 
    Case Is = 1 
     ActivePresentation.Slides(1).Shapes(Icount) _ 
     .TextFrame.TextRange = daycount & " Day to go!" 
    Case Else 
     ActivePresentation.Slides(1).Shapes(Icount) _ 
     .TextFrame.TextRange = "It's here!" 
End Select 
End Sub 

제발 도와주세요!

+1

을 던질 것이다 것 오류가 발생합니까? 프레젠테이션에 몇 개의 슬라이드가 있습니까? 'thedate'를'2013-12-25'로 변경하려고 시도합니다 ... 모든 .TextRange' 뒤에'.Text' 속성을 추가하려고 시도합니다 ... –

답변

0

당신은 날짜 값을

thedate = #12/25/2013# 

를 구분하는 해시 표시를 필요는 주문 mm/DD/YYYY입니다.

또한 VBA 컬렉션은 1에서 인덱싱되므로 셰이프 (countOfShapes)가 마지막 셰이프가됩니다.

0

귀하의 코드 :

Icount = ActivePresentation.Slides(1).Shapes.Count - 1 
..... 
Select Case daycount 
    Case Is > 1 
     ActivePresentation.Slides(1).Shapes(Icount) _ 

하나 개의 형태는 슬라이드에 있다면, ICount 0 ActivePresentation.Slides (1) .Shapes (Icount) 다음 라인 오류

관련 문제