2013-06-25 3 views
0
Set dir = CreateObject("Scripting.Dictionary") 
dir.Add "12", "layout1" 
dir.Add "29", "layout2" 
dir.Add "35", "layout3" 

For Each slide In presentation.Slides 
    xyz = slide.Layout 
    msgBox dir.Item(xyz) 
next 

여기 xyz는 숫자를 제공하고 동일한 값을 디렉토리 개체에 전달하여 해당 키 값을 가져 오려고합니다. 하지만 여기서 문제는 dir.Item (xyz)입니다. xyz에 이중 따옴표를 두지 않으면 systax 문제이므로 키에 대한 항목을 가져 오지 못합니다. 이중 따옴표를 사용하면 xyz로 표시됩니다. xyz의 값에 의해서만이 아닙니다. 어떤 아이디어는 어떻게 그래서 그냥뿐만 아니라 사전에 숫자 키를 만들어,이vbscript에서 큰 따옴표를 관리하는 방법

답변

1

slide.Layout 반환 번호를 해결하기 위해 :

Set dir = CreateObject("Scripting.Dictionary") 
dir.Add 12, "layout1" 
dir.Add 29, "layout2" 
dir.Add 35, "layout3" 

For Each slide In presentation.Slides 
    MsgBox dir.Item(slide.Layout) 
Next 

또한 문자열로 숫자를 변환 할 수 있습니다 :

Set dir = CreateObject("Scripting.Dictionary") 
dir.Add "12", "layout1" 
dir.Add "29", "layout2" 
dir.Add "35", "layout3" 

For Each slide In presentation.Slides 
    MsgBox dir.Item(CStr(slide.Layout)) 
Next 

그러나 그것은 당신에게 아무 것도주지 않고 코드의 복잡성을 증가시킬뿐입니다.

+0

"고맙습니다"의견을 게시하지 마십시오. SO에 대한 감사의 표현 방법은 답변을 upvote 및/또는 [accept] (http://meta.stackexchange.com/a/5235)하는 것입니다. –

관련 문제