【VBA】5行で対策可能。booboomasa.com管理人の趣味(ツーリング、ダーツ、水泳etc)と人生(事業)について綴ったサイトです。ホームAudiバイクダーツスイミングWordPressブログ運営ホームコラムスポンサーリンク【VBA】5行で対策可能。2010になってから急に仕様が変わったのか、Picture.Insertでエクセル上に画像を貼るマクロを実行したらリンクが付くようになった不具合的現象に対する対策法(コード)を紹介します。実行結果スポンサーリンクまえがき私はSEではないんですが、仕事柄Excelでマクロを組んだりすることがあります。先日、会社のOfficeが2003から2010にアップグレードしまして。Masterの資格を取っていた俺様に死角はない...と思っていたんですが、マクロで問題が発覚。タイトルにあるとおり、Pictures.InsertメソッドでSheet内に画像を貼り付けると、2003ではなかった「画像に貼り付け元のファイルパスがリンク付けられる」というバグのようなものが起こります。その結果、自分のPCでマクロを使って画像を貼ったExcelファイルを他のPCで見ると、リンク切れの表示とともに画像が表示されないという困ったことになってしまいます...。対策法はないのか...?対策法をググると「Shape.AddPictureメソッドを使うといいヨ」とだいたい出てくると思います。このShapes.AddPictureメソッド、シートへの貼り付け先の指定がポイント(左上を0,0とするピクセル)指定になっていて、セル指定(例えば「C列3行目」)ができないのです(実はできるのかもしれないけど)。Shapes.AddPictureメソッドで貼った直後の画像がアクティブな状態でないので、貼ったあとにマクロ的に移動させることができないのです(実はできるのかもしれないけど)。対策法(たまたま発見しました)さて、この事態に対して一番手っ取り早い解決策がたまたま見つかりました。それはPictures.Insertで貼り付けた画像を一旦CutしてまたPasteするという方法です。この案件を何も知らずにソースコードを見た人は「なにやってんだコイツ」と思われるでしょう。貼り付けた画像を切り取って再度貼り付けることで、何故かリンクは切れます。要するに、他のPCでExcelファイルを見ても、画像がちゃんと表示されている本来の状態に戻るということですね。貼るところ(例文ではD列の10行目)を指定しています。貼り付ける画像のパス(例ではCドライブ直下においているdack.jpg)を指定したセルに貼り付けています。貼り付けたばかりの画像を切り取っています。先程切り取ったばかりの画像を再度貼り付けています。無事貼り付け出来ました。HERO3+の録画が突然終了する理由と対策法(SDフォーマット方法)GoProで録画中に勝手に録画が終了するという不具合に遭遇したときの対策法を紹介します。昨晩久しぶりに徹夜で作業をしていました。09:58とても助かりました。10:13oikさん返信遅れまして申し訳ありません。お役立ていただけてこちらも光栄です。19:57testさんこんにちは~情報ありがとうございます。セル指定をする方法があるんですね...現在検証ができる環境にないため、ひとまず公開という形にさせていただきます。コメントをキャンセルメールアドレスが公開されることはありません。【VBA】5行で対策可能。「平泳ぎは痩せる」はウソです。理由とダイエットのための水泳メニューを紹介!2019.05.292019.06.03【リンク】ネットでよく見かけるかわいいイラストを公開するサイトがやっと見つかった2018.04.062019.06.15【Audi】A4車検3回目(7年目)まとめ...また20万超えちゃった2016.10.022019.03.18競泳水着の寿命を1日でも長持ちさせるためにすべきこと・すべきでないこと2018.11.292019.12.03【VBA】5行で対策可能。【VBA】5行で対策可能。「平泳ぎは痩せる」はウソです。理由とダイエットのための水泳メニューを紹介!2019.05.292019.06.03【リンク】ネットでよく見かけるかわいいイラストを公開するサイトがやっと見つかった2018.04.062019.06.15【Audi】A4車検3回目(7年目)まとめ...また20万超えちゃった2016.10.022019.03.18競泳水着の寿命を1日でも長持ちさせるためにすべきこと・すべきでないこと2018.11.292019.12.03【VBA】5行で対策可能。