
下記のような指定された大きさの結合セルにダブルクリックで画像を貼り付けるマクロを使用しているのですが、画像がリンク切れを起こしてしまうため対処方法をお教え頂けないでしょうか。
一通り調べはしたため原因は分かったのですが、マクロについてほとんど知らずどの部分をどう直せば解消されるかがわからず困っております。何卒宜しくお願い致します。
使用OS:Windows10
Excel:Microsoft® Excel® 2019 MSO (バージョン 2210 ビルド 16.0.15726.20188) 32bit
エラー内容:リンクされたイメージを表示できません
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim TWD, THT, TTP, TLF, PWD, PHT, FName
Cancel = True
'================写真を貼り付けたい範囲の調整をここで行う。
If Not (Target.Columns.Count = 10 And Target.Rows.Count = 7) Then Exit Sub
'================上の23と19を好みのセルの結合した大きさに変えてください。
Application.ScreenUpdating = False
TWD = Target.Width '対象セルの幅
THT = Target.Height
TTP = Target.Top
TLF = Target.Left
FName = Application.GetOpenFilename
If FName = False Then Exit Sub
ActiveSheet.Pictures.Insert(FName).Select
With Selection.ShapeRange
.LockAspectRatio = msoTrue
PWD = .Width '画像の幅
PHT = .Height
Select Case PHT / PWD
Case Is >= THT / TWD
.Height = THT - 8
.Top = TTP + 4
.Left = TLF + (TWD - .Width) / 2
Case Else
.Width = TWD - 8
.Top = TTP + (THT - .Height) / 2
.Left = TLF + 4
End Select
End With
Application.ScreenUpdating = True
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは
>画像がリンク切れを起こしてしまうため対処方法をお教え頂けないでしょうか。
画像を貼り付ける際に、リンクを指定して記憶しているので、元の画像が移動したり削除されたりすると、ご質問のように「リンク切れ」となって表示できません。
常に表示できるようになさりたければ、貼り付けの際に画像そのものを取り込んでしまって、エクセルのデータとして一緒に保存するようにしておけば「リンク切れ」はおきなくなります。
(当然ですが、画像データを取り込むので、データ量は大きくなります)
以下のサイトに詳細な説明がありますが、
Shapes.AddPictureメソッドを用いて、SaveWithDocumentのオプションを指定しておけば可能になるでしょう。
https://excel-ubara.com/excelvba5/EXCELVBA226.html
早急にご回答いただきありがとうございました。
無事解決いたしました。最初にお答えいただいたためベストアンサーとさせていただきました。
No.2
- 回答日時:
こんにちは
リンク切れを起こすのは Pictures.Insert を使用している為です
(Insert リンク挿入です)
なのでAddPictureを使用してLinkToFile:=Falseを設定し
SaveWithDocument:=Trueを設定します
こんな感じ
If FName = False Then Exit Sub
With ActiveSheet.Shapes.AddPicture(Filename:=FName, _
LinkToFile:=False, SaveWithDocument:=True, _
Left:=Selection.Left, Top:=Selection.Top, _
Width:=0, Height:=0)
.LockAspectRatio = msoTrue
・
・
! #1様が回答されている内容と被りましたので参考程度で
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
マクロで画像挿入→エラー「リンクされたイメージを表
Excel(エクセル)
-
ダブルクリックで貼り付けた画像からリンクのみ削除し、画像を残したい
Visual Basic(VBA)
-
マクロで画像挿入→エラー「リンクされたイメージを表示できません」
Excel(エクセル)
-
-
4
Excel マクロ 画像をリンクせずかつ圧縮して貼りつける方法を教えてください
Excel(エクセル)
-
5
Pictures.Insertメソッド⇒Shapes.AddPictureメソッドに変更したいです。
Visual Basic(VBA)
-
6
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
7
エクセルにハイパーリンクで貼り付けた画像を 通常の埋め込み画像に変換したいのですが、方法が分かる方が
Excel(エクセル)
-
8
EXCEL2010について
Excel(エクセル)
-
9
エクセル2010の写真貼り付けについて。
その他(Microsoft Office)
-
10
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
11
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
12
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
13
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
14
VBAの内容の修正をお願いさせて頂きます
Excel(エクセル)
-
15
エクセルに添付された画像が×になり見れない
PowerPoint(パワーポイント)
-
16
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
-
17
自分の部署・担当を言うとき、どういう言い方が正しいでしょうか?? 会社のときは、弊社といいますが、部
その他(ビジネス・キャリア)
-
18
Excel に貼り付けた図形が、保存した後、再度、開くと勝手に動いている。
Excel(エクセル)
-
19
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
20
エクセル マクロ 相対パスから画像を読み込みたいです。
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
男の人はやってるとき 彼女がす...
-
男性の方に質問です。 バックで...
-
彼女が感じやすくて可愛い
-
風俗ってどこまでの接客をします?
-
夫婦の夜の営みについてです。 ...
-
男性に質問です! 電話だけで勃...
-
高校生です。彼氏の前で初めて...
-
彼氏と毎日セックスするのは異...
-
フェラチオは妻の義務ですか?...
-
女性が喘いでいるときの男性の...
-
男性に質問です。 デリヘルって...
-
兄妹や姉弟で、キスやエッチし...
-
初体験って気持ちいいの? 男の...
-
ソープランドについて
-
彼と体の相性が良すぎて悩んで...
-
キスすれば相手を好きでなくて...
-
もし週1しか恋人と会えなかった...
-
実家住まいの場合Hはホテル以外...
-
彼女がフェラをしてくれません。
-
彼氏が前戯をしてくれない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
男の人はやってるとき 彼女がす...
-
男性の方に質問です。 バックで...
-
彼女が感じやすくて可愛い
-
風俗ってどこまでの接客をします?
-
夫婦の夜の営みについてです。 ...
-
高校生です。彼氏の前で初めて...
-
女性が喘いでいるときの男性の...
-
フェラチオは妻の義務ですか?...
-
初体験って気持ちいいの? 男の...
-
彼氏と毎日セックスするのは異...
-
兄妹や姉弟で、キスやエッチし...
-
男性に質問です! 電話だけで勃...
-
彼と体の相性が良すぎて悩んで...
-
男性に質問です。 デリヘルって...
-
彼女がフェラをしてくれません。
-
実家住まいの場合Hはホテル以外...
-
もし週1しか恋人と会えなかった...
-
キスすれば相手を好きでなくて...
-
ソープランドについて
-
彼氏が前戯をしてくれない
おすすめ情報