• 締切済み

WordやExcelで、条件に見合った画像を表示する。

Word(Excelでも可)で、画像の名前を入力すると、どこかに保存してある、その名前の画像を表示する。というようなことはできますでしょうか?

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

ユーザーフォームのイメージに表示する方法です 同じフォルダにある画像ファイル名を指定して呼び出すとフォーム上に表示します。 クリックイベントか、チェンジイベントで呼び出すといいと思います。 ---------------------------------------------------------------- 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

回答No.1

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のファイル名を変更すると画像も変更され、セルをクリアすると画像が   削除されます。

関連するQ&A