
お手数おかけしますが、ご教示ください。
Excel2013を使用しています。
マクロのことはほとんどわかりませんが、ネット情報から、下記のマクロを作成しました。
ただ、元の画像を消去したり、メールで送ったりすると、リンクされていないため画像が表示されず、行き詰っています。
そこで、画像を貼りつけるマクロ、さらに欲を言えば、その画像を印刷用(220ppi)の解像度に圧縮した上で貼りつけるマクロがありましたら、下記のマクロをどのように変更したらいいのでしょうか?
丸投げで申し訳ありませんが、お力をお貸しください。よろしくお願いします。
Sub 画像()
Dim fName, pict As Picture
fName = Application.GetOpenFilename("JPG,*jpg", MultiSelect:=True)
If IsArray(fName) Then
For i = 1 To UBound(fName)
Set pict = ActiveSheet.Pictures.Insert(fName(i))
pict.Width = 360
pict.Height = 180
ActiveCell.Offset(1, 1).Activate
Next i
End If
End Sub
No.2ベストアンサー
- 回答日時:
#1です。
>印刷用(220ppi)の解像度 :については、Excelのデフォルト設定なので変更しなくて良いのではないでしょうか。
上記のように回答しましたが、Shapes.AddPicture を実行しサイズを変更した場合、解像度が変更されるため上記回答は、
誤りだと思いますので、訂正いたします。
サイズを変更せず、Shapes.AddPictureを実行しその後Resizeする処理に変えました。
アスペクト比を維持するため、高さのみ指定しています。
サンプル(ご希望のものになるか分かりません。)
Sub 画像1()
Dim fName, pict As Shape
Dim i As Integer
fName = Application.GetOpenFilename("JPG,*jpg", MultiSelect:=True)
If IsArray(fName) Then
For i = 1 To UBound(fName)
Set pict = ActiveSheet.Shapes.AddPicture( _
fName(i), _
msoFalse, msoTrue, Selection.Left, Selection.Top, -1, -1) '-1 =size維持
pict.Height = 180 'resize
ActiveCell.Offset(1, 1).Activate
Next i
End If
End Sub
画像詳細が不明なので、他の方法で解像度によるサイズ指定を行う場合は、下記をどうぞ
参考サイト :https://qiita.com/shela/items/d20fd84a82d930b5804e
Qchan1962様
貴重なお時間を割いて頂き、2度にわたる丁寧なご回答ありがとうございます。
回答頂いたコードで先ほど作業してみたところ、まさに望みどおりにできました。
感謝感激です。
本当にありがとうございました。
No.1
- 回答日時:
ご質問を読んだ感じですと、どうされたいのかわかりません。
示されているコードで画像は貼り付くと思いますが、
>ただ、元の画像を消去したり、メールで送ったりすると、リンクされていないため画像が表示されず、行き詰っています。
そういう事ですね。
ActiveSheet.Pictures.Insertを ActiveSheet.Shapes.AddPictureにすれば、リンク貼り付けでなくなります。
Shapesなのでオブジェクト型も変わります
ご質問のコードの改造
Sub 画像()
Dim fName, pict As Shape
Dim i As Integer
fName = Application.GetOpenFilename("JPG,*jpg", MultiSelect:=True)
If IsArray(fName) Then
For i = 1 To UBound(fName)
Set pict = ActiveSheet.Shapes.AddPicture( _
Filename:=fName(i), _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=Selection.Left, _
Top:=Selection.Top, _
Width:=360, _
Height:=180)
ActiveCell.Offset(1, 1).Activate
Next i
End If
End Sub
変数 i が 宣言されていないので
Dim i As Integer を上に加える
Dim fName, pict As Picture を Dim fName, pict As Shape
最初に貼り付ける場所の指定とかも必要かもしれませんが、
選択されているセルに最初に貼り付き、複数画像を選んでいれば、一つ下の一つ右に次の画像が挿入されると思いますよ。(そのまま)
>印刷用(220ppi)の解像度 :については、Excelのデフォルト設定なので変更しなくて良いのではないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて
Excel(エクセル)
-
Excelに貼り付けた画像を圧縮するマクロについて
Visual Basic(VBA)
-
VBAで画像圧縮はできますか?
Visual Basic(VBA)
-
-
4
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
5
Pictures.Insertメソッド⇒Shapes.AddPictureメソッドに変更したいです。
Visual Basic(VBA)
-
6
エクセルのVBAでクリップボードにコピーした画像をpng(or jpg or bmp)保存したい
Visual Basic(VBA)
-
7
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
8
エクセルに画像を貼付け縮小する作業をマクロにしたいのですが、
Excel(エクセル)
-
9
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
10
エクセルマクロで図の圧縮を行うには
PowerPoint(パワーポイント)
-
11
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
12
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
-
13
エクセル(2013)VBA-図の縦横比を変えずにセルにおさまる最大限の大きさにする
Excel(エクセル)
-
14
ダブルクリックで貼り付けた画像からリンクのみ削除し、画像を残したい
Visual Basic(VBA)
-
15
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
16
マクロで画像挿入→エラー「リンクされたイメージを表
Excel(エクセル)
-
17
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
18
【ExcelVBA】図の縮小貼付時のトラブル
その他(Microsoft Office)
-
19
Excelマクロ 選択画像の大きさを100%に
その他(Microsoft Office)
-
20
エクセルのシートに貼りつけたbmpをjpegに
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
男の人はやってるとき 彼女がす...
-
男性の方に質問です。 バックで...
-
風俗ってどこまでの接客をします?
-
彼女が感じやすくて可愛い
-
フェラチオは妻の義務ですか?...
-
女性が喘いでいるときの男性の...
-
男性に質問です! 電話だけで勃...
-
高校生です。彼氏の前で初めて...
-
夫婦の夜の営みについてです。 ...
-
彼氏と毎日セックスするのは異...
-
男性に質問です。 デリヘルって...
-
初体験って気持ちいいの? 男の...
-
ソープランドについて
-
彼と体の相性が良すぎて悩んで...
-
兄妹や姉弟で、キスやエッチし...
-
キスすれば相手を好きでなくて...
-
もし週1しか恋人と会えなかった...
-
実家住まいの場合Hはホテル以外...
-
ふぇらでイカセテくれる うまい...
-
彼氏が前戯をしてくれない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
男の人はやってるとき 彼女がす...
-
男性の方に質問です。 バックで...
-
彼女が感じやすくて可愛い
-
風俗ってどこまでの接客をします?
-
高校生です。彼氏の前で初めて...
-
フェラチオは妻の義務ですか?...
-
女性が喘いでいるときの男性の...
-
夫婦の夜の営みについてです。 ...
-
彼氏と毎日セックスするのは異...
-
男性に質問です! 電話だけで勃...
-
兄妹や姉弟で、キスやエッチし...
-
初体験って気持ちいいの? 男の...
-
彼と体の相性が良すぎて悩んで...
-
男性に質問です。 デリヘルって...
-
ソープランドについて
-
キスすれば相手を好きでなくて...
-
もし週1しか恋人と会えなかった...
-
実家住まいの場合Hはホテル以外...
-
彼女がフェラをしてくれません。
-
彼氏が前戯をしてくれない
おすすめ情報