PNG や JPEG などの画像の幅と高さを取得してみます。
LoadPicture 関数は PNG に対応していないので、VBScript でファイルのプロパティを調査して取得することにします。
Dim strFileName, objFSO, objShellApp, objFolder Dim ImageSize, Width, Height strFileName = "C:\image\test.png" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objShellApp = CreateObject("Shell.Application") Set objFolder = objShellApp.NameSpace(objFSO.GetParentFolderName(strFileName)) Set objFile = objFolder.ParseName(objFSO.GetFileName(strFileName)) ImageSize = objFolder.GetDetailsOf(objFile,31) Width = objFolder.GetDetailsOf(objFile,177) Height = objFolder.GetDetailsOf(objFile,179) If Len(ImageSize)>0 Then WScript.Echo ImageSize WScript.Echo Width & " × " & Height Else WScript.Echo "サイズを取得できません" End If
三行目のファイル名は、取得する画像のファイルパスに書き換えてください。
ドラッグ&ドロップに対応したり、指定したフォルダ内をスキャンしたりすることもできますが、いずれ。
31や177, 179といった数字は Windows のバージョンによって変わる可能性もあります。
(上は Windows 10 の64ビットパソコンで調べました)
この GetDetailsOf というプロパティを使うと、動画の大きさや時間を取得することもできるので便利です。