|
タテヤマ - 2008/12/11 11:10
皆様はじめまして。質問宜しくお願いします。
エクセル及びエクセルシート名は製作表(Sheet1)。
図面はY:\図面というファイルにJPG形式で保存している。
図面名称はセル"O5"に明記してある型式と同じにしてある。
製作表上にコマンドボタンを配置。
コマンドボタンがクリックされたら図面をAD1:AL47に表示したい。
Private Sub 図面挿入_Click()
Dim iP As String
Dim iSheet As String
Dim iC As String
Dim iK As String
'***変数値の設定***
iSheet = "製作表"
iC = "AD1:AL47"
iK = Range("O5").Value
iP = "Y:\図面\" & iK & ".jpg"
'***画像ファイルの挿入***
Call MovePicture(iP, iSheet, iC)
End Sub
Sub MovePicture(iP As String, iSheet As String, iC As String)
Dim MC As Range
Dim ML As Double
Dim MT As Double
Dim MH As Double
Dim MW As Double
Set MC = Range(iC)
'***目的のシート(セルの範囲)へ画像貼り付け***
With MC
ML = .Left
MT = .Top
MH = .Cells(.Count).Offset(1).Top - .Top
MW = .Cells(.Count).Offset(, 1).Left - .Left
End With
Sheets(iSheet).Pictures.Insert (iP)
With Sheets(iSheet).Pictures(Sheets(iSheet).Pictures.Count).ShapeRange
.LockAspectRatio = msoFalse
.Parent.Visible = msoTrue
.Left = ML
.Top = MT
.Height = MH
.Width = MW
End With
End Sub
現在、実行時エラー'1004'
Picturesクラスのinseretメソットが失敗しました。
と表示されるのですが、MovePictureは正常動作することが確認済みなので、おそらく*変数値の設定*が正しく定義されていないのだと推測しています。
どのような変更を行えばよいのかと、図面の型式が該当する図面データY:\図面にない場合はどのようなError表示書式を追加すればよいのか、教えていただければ幸いです。
尚、VBA質問掲示板様にも、同じ内容を質問依頼しています。
現時点では、回答は頂けておりません。
まだ初心者なもので至らない部分が多々ありますが、御教授の程宜しくお願い致します。
|
|