- 締切済み
WordやExcelで、条件に見合った画像を表示する。
Word(Excelでも可)で、画像の名前を入力すると、どこかに保存してある、その名前の画像を表示する。というようなことはできますでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
ユーザーフォームのイメージに表示する方法です 同じフォルダにある画像ファイル名を指定して呼び出すとフォーム上に表示します。 クリックイベントか、チェンジイベントで呼び出すといいと思います。 ---------------------------------------------------------------- Public Sub viewImage(name As String) UserForm1.Caption = name name = ActiveWorkbook.Path + "\" + name UserForm1.Image1.Picture = LoadPicture(name) UserForm1.Height = UserForm1.Image1.Height + UserForm1.Height - UserForm1.InsideHeight UserForm1.Width = UserForm1.Image1.Width + UserForm1.Width - UserForm1.InsideWidth UserForm1.Show End Sub
- misatoanna
- ベストアンサー率58% (528/896)
Excelを使った処理ですが――。 シートタブを右クリックし、"コードの表示"を選択して開く画面に下記をコピペ してください。 ' Private Sub Worksheet_Change(ByVal Target As Range) Dim PathName, FileName If Target.Address <> "$A$1" Then Exit Sub Application.ScreenUpdating = False On Error Resume Next ActiveSheet.Shapes("Pic").Cut If Target.Value = "" Then Range("A1").Select GoTo Fin End If PathName = "C:\MyFiles\PhotoData" '↑実際のフォルダのフルパスに書き換えてください。 FileName = PathName & "\" & Dir$(PathName & "\" & Target.Value & ".*") Range("C1").Select ActiveSheet.Pictures.Insert(FileName).Select Selection.ShapeRange.LockAspectRatio = msoTrue Selection.ShapeRange.Height = 150 '←画像の縦サイズ(ポイント) Selection.Name = "Pic" Range("A1").Select Fin: Application.ScreenUpdating = True End Sub ・セルA1にファイル名(拡張子なし)を入力すると、C1の左上端を起点にした縦150 ポイントの画像を表示します。 ・セルA1のファイル名を変更すると画像も変更され、セルをクリアすると画像が 削除されます。