|
MJ12 さん、こんにちわ。
>Excel2000 から Word 2000 への貼り付けに関しては問題なく作動するのですが、Word 2003 へ貼り付けようとしたところ、エラーが発生します。
>エラーは「実行時エラー '5930': オブジェクトが正しくありません。」です。
>貼り付ける段階までは作動するのですが、位置及びサイズの変更で現状のコードのままでは問題が発生するようです。
参照設定で「Word」を追加してありますか?
追加していない場合は「wdPasteEnhancedMetafile」等のwdで始まる列挙型変数が全部「0」になるので正しく動作しません。
で。
それが入っていても、
> .PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _
> Placement:=wdFloatOverText, DisplayAsIcon:=False
ここで貼りつけられた図が選択されないために、
> With .ShapeRange
これがエラーになっています。
なので、対象の図を明確にしてあげれば正しく動作するようです。
(略)
With ObjWord
.Documents(OpenWord).Activate
'
.Selection.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _
Placement:=wdFloatOverText, DisplayAsIcon:=False
'図形が1個しかないとして。
With .ActiveDocument.Shapes(1)
.RelativeHorizontalPosition = wdRelativeHorizontalPositionMargin 'ここでエラー
.RelativeVerticalPosition = wdRelativeVerticalPositionMargin
.ScaleWidth 1#, True
.ScaleHeight 1#, True
.Left = wdShapeCenter
.Top = ObjWord.MillimetersToPoints(0)
End With
Application.CutCopyMode = False
End With
(略)
こんな感じです。
|
|