- 締切済み
エクセル2010の写真貼り付けについて。
エクセル2003なら、写真をあるフォルダから貼り付けて、そのフォルダから、貼り付けた写真を削除または移動させてもエクセル2003は、再表示できたのに、エクセル2010では、できません。 エクセル2010での設定があるのか、教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- end-u
- ベストアンサー率79% (496/625)
手作業の図の挿入では発生しないのですが、 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
Excelへの画像の貼り付けは、余計な画像情報をファイルに保存されないように、挿入コマンドを使います。そうじゃないと、例えば*.jpgファイルをコピーしてはりつけたとしても、*.bmpに展開した時の情報などまで貼り付き、ファイルサイズは極大になってしまうことも少なくありません。 Excel2003でいえばAltを押下しながらI、P、F と連打した時に表示されるダイアログで画像を選択します。 Excel2010では「挿入」タブ→「図」と選択して貼り付けてください。
お礼
回答ありがとうございます。 大変参考になりました。