这是代码:
Sub imagesize()
Dim selection As Range
Dim rng As Range
Dim objShell As Object
Dim objFolder As Object
Dim objFile As Object
Dim dimen As String
Dim xmm As Double
Dim ymm As Integer
Set objShell = CreateObject("Shell.Application")
Set selection = Application.selection
For Each rng In selection.Cells
Set objFolder = objShell.Namespace("C:\Users\Desktop\")
Set objFile = objFolder.ParseName("try.tif")
dimen = objFile.ExtendedProperty("Dimensions")
xmm = Val(Left(dimen, InStr(dimen, "x") - 2))
Cells(rng.Row, rng.Column).Value = xmm
Next rng
结束子
我已经知道了图片的尺寸,但是我不能将字符串转换为整数,既不能使用,CInt
也不能使用Val
,但是它只能包含数字。我在这里想念什么?感谢您的回答。
替换此行 xmm = Val(Left(dimen, InStr(dimen, "x") - 2))
用下面的代码
If dimen <> "" Then
dimen = Mid(dimen, 2, Len(dimen) - 2)
xmm = CDbl(Split(dimen, "x")(0))
ymm = CDbl(Split(dimen, "x")(1))
End If
或者,您可以只插入原始尺寸的图像,然后从此处读取高度和宽度。https://stackoverflow.com/a/39151519/3961708
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句