• 締切済み

エクセル2010の写真貼り付けについて。

エクセル2003なら、写真をあるフォルダから貼り付けて、そのフォルダから、貼り付けた写真を削除または移動させてもエクセル2003は、再表示できたのに、エクセル2010では、できません。 エクセル2010での設定があるのか、教えてください。

みんなの回答

  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

手作業の図の挿入では発生しないのですが、 ActiveSheet.Pictures.Insert "C:\My Pictures\Picture.jpg" など、Pictures.Insertメソッドを使ったマクロで挿入するとご質問の現象が発生します。 リンク挿入になります。2010のバグらしいです。 2010年5月くらいのmoug.netでちょっと話題になってました。(過去ログは消えてます) なので、そういう状況でしたら、Pictures.Insertメソッドではなく Shapes.AddPictureメソッドを使ってください。 Dim x As Variant x = Application.GetOpenFilename("jpgFiles,*.jpg") If VarType(x) = vbBoolean Then Exit Sub With ActiveSheet.Shapes.AddPicture(Filename:=CStr(x), _                   LinkToFile:=msoFalse, _                   SaveWithDocument:=msoTrue, _                   Left:=0, Top:=0, Width:=0, Height:=0)   .ScaleWidth 1, msoTrue   .ScaleHeight 1, msoTrue End With または、画像リサイズも兼ねてCopy&Paste、元画像を削除。でも良いです。 Dim x As Variant x = Application.GetOpenFilename("jpgFiles,*.jpg") If VarType(x) = vbBoolean Then Exit Sub With ActiveSheet.Pictures.Insert(CStr(x))   .Width = 100   .Copy   ActiveSheet.Pictures.Paste   .Delete End With

KLifeTaroHana
質問者

お礼

回答ありがとうございます。 大変参考になりました。

noname#145930
noname#145930
回答No.1

Excelへの画像の貼り付けは、余計な画像情報をファイルに保存されないように、挿入コマンドを使います。そうじゃないと、例えば*.jpgファイルをコピーしてはりつけたとしても、*.bmpに展開した時の情報などまで貼り付き、ファイルサイズは極大になってしまうことも少なくありません。 Excel2003でいえばAltを押下しながらI、P、F と連打した時に表示されるダイアログで画像を選択します。 Excel2010では「挿入」タブ→「図」と選択して貼り付けてください。

関連するQ&A