我构建了一个由2个CommandButtons组成的UserForm,每个CommandButtons都包含一个Picture。要求用户选择两个CommandButtons中的一个。我想将所选图片的文件名复制到工作表中的单元格。目前我无法弄清楚如何获取图片的文件名,因此我手动插入了每个CommandButton的文件名,如下所示:
Private Sub cmdQ2Opt1_Click()
Worksheets("UserQuestionnaire").Range("C4").Value = "242.216.490"
End Sub
Private Sub cmdQ2Opt2_Click()
Worksheets("UserQuestionnaire").Range("C4").Value = "354.129.401"
End Sub
如何对此进行编码,以便VBA自动复制图片的文件名?
提前感谢您的帮助!
答案 0 :(得分:1)
如果您在 Forms Designer 中分配图片,则不会存储路径,因为随后会从工作簿本身的存储中加载图像。
要保留您在运行时加载的路径:
dim path As string
path = "C:\...\foo.jpg"
set commandbutton1.Picture = loadpicture(path)
然后,您可以将路径存储在按钮Tag
属性中:
commandbutton1.Tag = path
然后点击它时回读:
ActiveWorkbook.Sheets("UserQuestionnaire").Range("C4").Value = commandbutton1.Tag