[[20140714184838]] 『Windows8にしたらマクロにエラーが発生』(まー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Windows8にしたらマクロにエラーが発生』(まー)

 お世話になります。
 下記のような写真を貼り付けるマクロですが、エクセル2002のときは動いたのですが、8になったらエラーがでます。
  .Parent.Cutのところで、オブジェクトをサポートしていませんとかいうエラーです。
 どうすればよいでしょう?

 Sub 写真圧縮貼付()

 Dim myPic
   Dim myRange As Range '画像を配置するセル範囲
   Dim rX As Double, rY As Double

    myPic = Application.GetOpenFilename("画像ファイル,*.jpg;*.jpeg;*.gif;*.tif")
    If VarType(myPic) = vbBoolean Then Exit Sub

    Set myRange = ActiveSheet.Range("C14").Resize(13, 11) '← 1枚目:このセル範囲に収まるように画像を縮小する

    With ActiveSheet
        With .Pictures.Insert(myPic).ShapeRange
            rX = myRange.Width / .Width
            rY = myRange.Height / .Height
            If rX > rY Then
                .Height = .Height * rY
            Else
                .Width = .Width * rX
            End If
            .Parent.Cut
        End With
        .PasteSpecial Format:="図 (JPEG)", Link:=False
        With Selection
            .Left = myRange.Left + 3
            .Top = myRange.Top + 3
        End With

    ActiveWorkbook.Save
      End With
End Sub

< 使用 Excel:unknown、使用 OS:unknown >


 パッと見ですが、

         With .Pictures.Insert(myPic)
 >            rX = myRange.Width / .Width
 >            rY = myRange.Height / .Height
 >            If rX > rY Then
 >                .Height = .Height * rY
 >            Else
 >                .Width = .Width * rX
 >            End If
             .Cut
 >        End With

 じゃ、だめですか?
(検証してないので、だめだったらごめん)

(kanabun) 2014/07/14(月) 18:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.