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 保留双引号,那么我们将没有获取密钥的项目,因为它是系统税问题,如果我保留双引号,那么它将作为 xyz只是不是 xyz 的值。任何想法如何解决这个问题

4

1 回答 1

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

但这只会增加代码的复杂性,而不会为您带来任何好处。

于 2013-06-25T12:08:06.063 回答