2013-06-25 42 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)。 –