Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2019)
PNG形式の写真をimageコントロールに表示
投稿日時: 25/06/07 18:30:05
投稿者: shimoichimabu

デスクトップに
AAA.JPG
BBB.PNG
の写真ファイルがあります。
下記コマンドは
@Userform上のimageコントロールに写真(JPG、PNG形式)を表示させ、
AUserForm上のLabelには撮影日時を表示させるものです。
JPGファイルだとうまく写真・撮影日時は表示されますが、PNGファイルだと
実行時エラー'481':実行時エラー が出ます。
.デジカメImage.Picture = LoadPicture(DeskTopPath & "\BBB.PNG")の
コマンドがPNG形式のファイルには対応していないのでは?
また、撮影年月日を取り出すPhtoTime.ParseNameはPNG形式でもエラーが出ませんが、
PNG形式にも対応しているのでしようか?
 
Dim DeskTopPath As String, PhtoTime As Object
    DeskTopPath = CreateObject("wscript.shell").SpecialFolders("desktop")
    
 With 写真表示Form
        .デジカメImage.Picture = LoadPicture(DeskTopPath & "\BBB.PNG") ’←実行時エラー
        Set PhtoTime = CreateObject("Shell.Application").Namespace((DeskTopPath))
        .撮影日時Label = Format(PhtoTime.ParseName("BBB.PNG").ExtendedProperty("WhenTaken") + TimeValue("9:00"), "yyyy. m. d _ h:m:s") ’←実行時エラー無し
        Set PhtoTime = Nothing
        .Show
    End With

投稿日時: 25/06/08 10:51:33
投稿者: shimoichimabu

 
なんとか、
UserForm1.WebBrowser1.Navigate ファイル名(フルパス) を使うことで
UserFormにはPNG,JPGいずれも表示できました。
お騒がせしました。
 
撮影年月日を取り出すPhtoTime.ParseNameはPNG形式でもエラーが出ませんが、
PNG形式にも対応しているのでしようか? については、自分でPNG形式の写真を撮影をして
確認してみます。現在、持っている写真はネットから入手したもので、PhtoTime.ParseNameで
入手した撮影日時は本当かどうか怪しいですので・・・。