Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


27634 / 76732 ←次へ | 前へ→

【54416】Re:ExcelデータをWordに貼り付け
回答  りん E-MAIL  - 08/3/12(水) 13:36 -

引用なし
パスワード
   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

(略)

こんな感じです。
0 hits

【54411】ExcelデータをWordに貼り付け MJ12 08/3/12(水) 8:27 質問
【54416】Re:ExcelデータをWordに貼り付け りん 08/3/12(水) 13:36 回答
【54432】Re:ExcelデータをWordに貼り付け MJ12 08/3/12(水) 17:47 質問
【54433】Re:ExcelデータをWordに貼り付け りん 08/3/12(水) 18:59 発言
【54434】Re:ExcelデータをWordに貼り付け MJ12 08/3/12(水) 19:12 お礼

27634 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free