word2003のマクロが2007でエラーになる
word2003(windows2000)で使っていたマクロを、人に頼まれてその人の2007のword(windowsXP)に入れたのですがエラーが出て動かないそうです。
マクロは以下のページにあったものの改造で、どこを直したらよいのかわかりません。
http://okwave.jp/qa/q2344318.html
答えでなく、ヒントでも良いのでどなたか教えてください。
h = Selection.ShapeRange.Heightという行で、「エラー5 プロシージャの呼び出し、または引数が不正です」というようなエラーが出るそうです。
2003ではエラーは出ず、選択されている画像の高さがhに入ります。
よろしくお願いします。
-----------------------------------
Public Sub ChgPest()
'選択した画像をクリップボードの中身と入れ替えてemfで貼り付ける
Dim T, L, h, W, cl, cr, ct, cb As Integer
Dim FName As String
Dim MyShape As Shape
Dim fd As FileDialog
Dim clp As Integer
Application.ScreenUpdating = False
T = Selection.ShapeRange.Top
L = Selection.ShapeRange.Left
h = Selection.ShapeRange.Height ←●デバッグするとここが黄色になっている
W = Selection.ShapeRange.Width
posi = Selection.ShapeRange.RelativeVerticalPosition
cl = Selection.ShapeRange.PictureFormat.CropLeft
cr = Selection.ShapeRange.PictureFormat.CropRight
ct = Selection.ShapeRange.PictureFormat.CropTop
cb = Selection.ShapeRange.PictureFormat.CropBottom
Set myrange = Selection.Range
Selection.Delete
Selection.PasteSpecial datatype:=wdPasteEnhancedMetafile 'EMFでペースト
clp = ActiveDocument.Shapes.Count 'すべてのshapeを数える
Set MyShape = ActiveDocument.Shapes(clp) '最後にペーストしたshape
ActiveDocument.Shapes(clp).LockAnchor = False 'アンカーを固定しない
ActiveDocument.Shapes(clp).WrapFormat.Type = 3
MyShape.Select
With Selection.ShapeRange.PictureFormat
.CropLeft = cl
.CropRight = cr
.CropTop = ct
.CropBottom = cb
End With
Selection.ShapeRange.RelativeVerticalPosition = posi
Selection.ShapeRange.Top = T
Selection.ShapeRange.Left = L
Selection.ShapeRange.Height = h
Selection.ShapeRange.Width = W
Selection.ShapeRange.ZOrder msoSendToBack
Application.ScreenUpdating = True
End Sub