Excelで画像表示ソフトを作ってみよう

Step 7 イメージコントロールのサイズを画像に合わせる

セルの画像のサイズにより、Imageコントロールのサイズも調整します。



Homeへ > Excelでアプリケーションソフト > 画像表示ソフト

ユーザーフォームコード

下記のVBAコードを追加してください。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim sfina As String
    Dim lw1 As Long
    Dim lw2 As Long
    
On Error Resume Next
    'ファイル名を取得
    sfina = Range(Target.Address)
    'JPEG か BMP かチェック
    If LCase(Right(sfina, 4)) = ".jpg" Or LCase(Right(sfina, 4)) = ".bmp" Then
        'ファイル存在確認
        If ExDir(UserForm1.TextBox1 & sfina, vbNormal) <> "" Then
            Err.Number = 0
            '画像を表示
            UserForm1.Image1.Picture = LoadPicture(UserForm1.TextBox1 & sfina)
            If Err.Number = 0 Then
                'フォームの幅
                lw1 = UserForm1.CommandButton2.Left + UserForm1.CommandButton2.Width + 10
                'イメージの幅
                lw2 = UserForm1.Image1.Left + UserForm1.Image1.Width + 10
                If lw2 < lw1 Then
                    UserForm1.Width = lw1
                Else
                    UserForm1.Width = lw2
                End If
                'イメージコントロールのサイズを変更
                UserForm1.Height = UserForm1.Image1.Top + UserForm1.Image1.Height + 30
            Else
                '画像を消す
                UserForm1.Image1.Picture = LoadPicture("")
            End If
        End If
    End If
End Sub


シート画面

640×480サイズの画像を表示した場合
大きいサイズ セルの画像が表示されています。

320×240サイズの画像を表示した場合
幅は、終了ボタンより小さくはなりません。
小さいサイズ セルの画像が表示されています。

Homeへ > Excelでアプリケーションソフト > 画像表示ソフト

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved