Ass*_*saf 0 excel vba excel-vba dimensions
我有这个链接: https ://s23527.pcdn.co/wp-content/uploads/2017/04/wine_speedlights_kit_lens.jpg.optimal.jpg
(我不介意如何获得它,它可以在1920上单元格B2和1080上单元格C2)
您需要进行API调用URLDownloadToFile才能下载图像.在下面的示例中,我们将下载到temp文件夹C:\Temp\.
下载映像后,您将创建一个新的Shell对象,并最终使用该.ExtendedProperty()属性来获取文件维度
下载完文件后,可以继续使用删除临时文件Kill().
以下方法使用Early Binding.您需要设置引用
Run Code Online (Sandbox Code Playgroud)Microsoft Shell Controls And Automation进入
Tools -> ReferencesVBE菜单
Option Explicit
#If VBA7 Then
Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _
ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#Else
Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _
ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#End If
Sub test()
Const tmpDir$ = "C:\Temp\"
Const tmpFile$ = "tmpPicFile.jpg"
Debug.Print URLDownloadToFile(0, ActiveSheet.Range("A2").Value, tmpDir & tmpFile, 0, 0)
ActiveSheet.Range("B2").Value = getFileDimensions(tmpDir, tmpFile)
Kill tmpDir & tmpFile
End Sub
Private Function getFileDimensions(filePath$, fileName$) As String
With New Shell32.Shell
With .Namespace(filePath).ParseName(fileName)
getFileDimensions = .ExtendedProperty("Dimensions")
End With
End With
End Function
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |