|
▼タテヤマ さん:
こんにちは。
>現在、実行時エラー'1004'
>Picturesクラスのinseretメソットが失敗しました。
>と表示されるのですが、
よく分かりませんが、画像を挿入するアドレスを文字列で渡してるけど
そこには、どのシートのセル範囲か、シートの情報がないですよね?
シート情報付きで、セル範囲そのものを渡したら どうでしょうか?
> '***画像ファイルの挿入***
> Call MovePicture(iP, iSheet, iC)
↓ に変更し、
'***画像ファイルの挿入***
InsertPicture iP, ActiveWorkbook.Worksheets(iSheet).Range(iC)
'***目的のシート(セルの範囲)へ画像貼り付け***
Sub InsertPicture(picPath As String, ByVal Location As Range)
With Location.Worksheet.Pictures.Insert(picPath).ShapeRange
.LockAspectRatio = msoFalse
'.Parent.Visible = msoTrue
.Left = Location.Left
.Top = Location.Top
.Height = Location.Height
.Width = Location.Width
End With
End Sub
>どのような変更を行えばよいのかと、図面の型式が該当する図面データY:\図面にない場合はどのようなError表示書式を追加すればよいのか、
呼び出し先 InsertPicture プロシージャ内で、
最初に 指定の画像があるか Dir関数を使ってチェックして、
無ければ、Exitするとか?
If Len(Dir(picPath)) = 0 Then Exit Sub
|
|