2014-10-22 2 views
0

최근에 저는 PowerPoint에서 많은 매크로 Visual Basic을 사용하고 있습니다. 모든 것이 잘 작동하고 있었고 TryCatch 문을 추가해야했습니다. 그것은 작동하지 않는 것 같았지만 어쩌면 새로운 버전에서 변경 생각. 이제 PowerPoint를 사용하여 시각적 기본 사전을 만들려고 한 후에도 똑같은 일이 발생했습니다. 작동하지 않았고 텍스트가 빨간색이었습니다.Powerpoint Visual Basic 코드가 작동하지 않습니다.

Dim test As New Dictionary(Of String, Integer) 
test.Add("1", 1) 

파워 포인트를 사용할 때에 사전을 추가하는 어쨌든 거기 :

이 사전 코드입니다? 또는이 코드가 잘못 되었습니까? try와 catch 문과 같은 것?

+2

VBA 대신 VB.NET을 사용하려고하는 것 같습니다. 그들은 동일하지 않습니다. –

+0

VBA는 'On Error GoTo'가 필요합니다. VBA는 모두 자신의 짐승입니다 – engineersmnky

답변

2

System.Collections.Generic에 대한 참조가 선언되어 있는지 확인해야합니다. 코드의 상단에

추가 :

Imports System.Collections.Generic 
+0

사전 전용입니까? –

+0

예 및 그 컬렉션의 다른 모든 항목. – jmdon

1

당신은 최종 결과에 매우 불분명하지만 이런 일을하려고합니다.

Sub test() 
On Error Goto Handler 
    Dim test AS New Collection 
    test.Add "1", "27" 
    test.Add 15, "Monkeys" 
    Exit Sub 
Handler: 
    Msgbox "Error Number: " & Err & " Occurred. Its message text is: " & Error(Err) 
End Sub 

VBA하면 다음 오류 번호에 의한 오류를 처리 할 수 ​​On Error GoTo 모든 오류를 처리해야 CatchTry을 가지고하지 않습니다. See Here

또한 참고 ItemKey 구조를 사용하는 Collection을 사용했습니다. 이 기능으로 어떤 작업을 수행할지 확실하지 않지만 Key의 항목을 Collection으로 검색하면 문제가 없을 수 있습니다. 예 :

test.Item(1) 'will return "1" by index 
test.Item("27") 'will return "1" by key 
test.Item(2) ' will return 15 by index 
test.Item("Monkeys") 'will return 15 by key 
+0

고마워요! 인터넷에서 사전을 사용한다고합니다. 그것은 지금까지 콜렉션이 작동하는 것처럼 보입니다. –

+0

그래, 모든 것이 잘 작동하고 있었지만 추가 할 때 "type mismatch"오류가 발생했습니다. 어둠의 테스트 새 컬렉션으로 - test.Add "1", 1 –

+0

@ user1541397 죄송합니다. 내 대답은 '콜렉션'은'object, string'을 사용하여 죄송합니다. 정수 때문에 실패하게됩니다. 또한 검색 방법을 보여주기 위해 키를 변경했습니다. 정수를 제출하면 키를 찾고있는 문자열로 색인을 원한다고 가정합니다. – engineersmnky

관련 문제