エクセルで写真集を作るためのVBAですが、以下のVBAでは画像がリンク貼り付けになってしまいます。どうしたらエクセルファイルに画像を貼りこみで保存できるのでしょうか?
よろしくお願いいたします。
やりたいことは、まずダブルクリックでダイアログボックスを表示させ、挿入したい写真を選択、写真がセルに合わせた大きさに縮小、セルの中央に写真を配置。以上です。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Dim PicFile As Variant
Dim rX As Double, rY As Double
'[ファイルを開く]ダイアログボックスを表示
PicFile = Application.GetOpenFilename( _
"画像ファイル,*.jpg;*.jpeg;*.gif;*.tif;*.png;*.bmp")
If VarType(PicFile) = vbBoolean Then Cancel = True: Exit Sub
Application.ScreenUpdating = False
'画像を挿入
With ActiveSheet.Pictures.Insert(PicFile)
rX = Target.Width / .Width
rY = Target.Height / .Height
If rX > rY Then
.Height = .Height * rY
Else
.Width = .Width * rX
End If
'セルの中央(横方向/縦方向の中央)に配置
.Left = Target.Left + (Target.Width - .Width) / 2
.Top = Target.Top + (Target.Height - .Height) / 2
End With
Application.ScreenUpdating = True
Cancel = True
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
始めまして
Excel VBA質問の場合は、どんな書式、写真集のレイアウトなどかの
情報があれば他の応用例などで結構解決する場合があります。
建築関係メーカーの営業に携わっております。
日々の予定表をExcel工程図・営業資料などは現場の工事写真帳などの
Formatを引用しております。
写真集/資料のレイアウトなどの情報がないので一概に断言出来ませんが、
結合セルのダブルクリックで写真フォルダを開くマクロの例があります。
ただし、Sheet全体のセルにセルのダブルクリックで写真フォルダを開く
事になりますが、資料作成に支障はきたしておりません。
結合セルのサイズは、通常の画像挿入で比率をきちっとしていないと
ゆがんだ形になりますが一度Formatを作成出来れば応用可能です。
Excel2010/Excel2013では、画像挿入時にリンクになって今までの
マクロが使用出来なく、マクロ探しを始めた矢先の記事です。
以下はサイト検索で探したものです。
下記の記事は実にシンプルにわかりやすく説明してありました。
引用して試してみて下さい。
引用サイト1:
『マクロを使って写真挿入』
http://www.excel.studio-kazu.jp/kw/2012031309024 …
引用サイト2:
某市の都市建築部 設備課
http://www.city.asahikawa.hokkaido.jp/files/setu …
・工事写真帳様式 (参考)ダウンロード2003形式(.xls)
Excel2013でで開いて、2003形式(.xls)/2013マクロ形式(.xlsm)で
保存しましたが今のところ問題は出ていません。
ここにマクロ記述しても良いのですが質問者様の資料の全体像が
見出せていませんのでこの様な回答にさせて頂きました。
解決される事を願っております。
最後に当方Formatでよろしかったらお持ち帰り下さい。
下記に一時保存としてアップしました。
サンプル画像あり。
https://bizfile.raksul.com/dl/8dad46f4f582ad9333 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel ハイパーリンクのURLを別...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
太字に設定されているセルの個...
-
Excelで、図形内の文字をセルに...
-
現在のセルの位置を返す関数は...
-
【マクロ】ファイル名の変更に...
-
Excel内での検索結果をシート...
-
マクロを実行すると画像がズレ...
-
空白セルを空セルに置き換える...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
セルの値が変ると自動でマクロ...
-
Excelで挿入した図をセルの中央...
-
アポストロフィーの一括挿入 ...
-
選択したセル範囲に入っている...
-
エクセルマクロ 赤色の文字を検...
-
フォントの色を指定して削除出...
-
[EXCEL] フォント変更が正常に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
太字に設定されているセルの個...
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
Excelで挿入した図をセルの中央...
-
フォントの色を指定して削除出...
-
VBA 見つからなかった時の処理
-
エクセルでの検索ボックスの作...
-
エクセル 未入力セルがあると...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
【EXCEL】先週の月曜日の日付を...
-
EXCELのセルや文字色の反映
-
セルがクリックされた回数をカ...
おすすめ情報