我是VBA的新手,仍然挣扎不已。在书签上插入图片(或者如何判断是否选择了任何列表框项目)
我有一个用相关的“。\ logos \”目录的内容的文件名填充的useform上的列表对象。我想将图片插入名为bmLogo
的书签,但是我写的代码(见下文)并不能解决问题。
If ListLogo <> Null Then
ActiveDocument.Bookmarks("bmLogo").Range _
.InlineShapes.AddPicture FileName:=ThisDocument.Path & "\logos\" & ListLogo
End If
任何提示?此外,如果我可以设置高度并对图像进行缩放,而不改变高宽比,那么这将非常有用!
感谢,
路易
编辑1:对,所以,bmLogo是书签的正确名称,所以这不是问题。 我刚用msgbox来显示路径:“& ThisDocument.Path &”\ logos \“& ListLogo',它看起来像是正确的路径。我正在使用ThisDocument.Path,因为我希望它是相对的,所以文档更具可移植性。我想我会暂时尝试一条绝对路径,看看这个工作是否完成,如果没有别的事情,它应该暗示错误不在哪里。
编辑2:它与IF语句之外的绝对路径一起工作,当我得到一个msgbox打印绝对路径和相对路径时,它们是相同的。在注释掉IF语句之后,相关的方法就可以找到。我很高兴它现在正在工作,但任何人都可以告诉IF的问题是什么?
编辑3:事实证明,我的方法检查,如果某些东西已被选中列表框根本不工作。相反,我将遍历列表中的每个项目,并检查是否选择了该项目。这是一个非常粗糙的方法,但它会做,直到我能找到一个更好的。
的确,你的代码不:)这是不够好,插入书签范围内的画面......拜托,这个伎俩@Gaffi提到的,给我们有关您的需求的更多信息,并检查您提供的代码中的所有变量。 – 2013-04-22 16:57:37