我正在使用类似的函数来获取一些属性属性,如Filename
,bit depth
,dimensions
,size
等通过使用一些vba代码。该函数的最后一行如下所示:
PicSize = CreateObject("Shell.Application").Namespace(vPth2).Parsename(sPic2).ExtendedProperty("size")
现在,我想获取该图像文件的高度和宽度。我已经将height
和width
放入ExtendedProperty
属性值中,但它没有为我提供该文件的高度和宽度。
请注意,在该图像文件的属性对话框中,在摘要选项卡中,它显示了Bit depth
但放置它不起作用。然后我放了bitdepth
,它成功了。名称不区分大小写。
好!现在我只想获取所选图像文件的高度和宽度。我该怎么做?我的意思是放在ExtendedProperty()
里面的东西以获得高度和宽度。
尽早回复解决方案将不胜感激。
无法帮助说明为什么 Height
和 Width
不起作用,但似乎Dimensions
有效,返回一个字符串,如下所示?493 x 376?
我建议解决方法
替换代码中的size
PicSize=CreateObject("Shell.Application").Namespace(vPth2).Parsename(sPic2).ExtendedProperty("size")
到Dimensions
你会得到类似?493 x 376?
现在声明
字符串t = "?493 x 376?"
'搜索"X"的索引
search_x = InStr(t, "x")
"我们会得到宽度和高度
width = Mid(t, 2, search_x - 2)
height = Mid(t, search_x + 2, Len(t) - 8)
不知道为什么,但我发现从宽度"2"和高度"-8"开始会给出一个数字
您可以通过修改代码来单独检索图像的宽度和高度,如下所示:
Width = CreateObject("Shell.Application").Namespace(vPth2).Parsename(sPic2).ExtendedProperty("{6444048F-4C8B-11D1-8B70-080036B11A03} 3")
Height = CreateObject("Shell.Application").Namespace(vPth2).Parsename(sPic2).ExtendedProperty("{6444048F-4C8B-11D1-8B70-080036B11A03} 4")
有关其他扩展属性,请参阅通用打开属性