私は、一連の画像を Excel ドキュメントにインポートし、後でこのドキュメントを他のコンピューターで使用する必要がある友人のために、マクロに取り組んでいます。私が遭遇した問題は、このドキュメントを別のコンピューターで開いたときに、すべての画像が消えてしまい、代わりに、画像のパスが見つからなかったことを示すこれらの小さなエラー サインが表示されることです。
Excel 2007 を使用している自分のコンピューターでマクロを開発しましたが、コードは完全に正常に動作します。私の友人は Excel 2013 を使用していますが、どうやらこれら 2 つのバージョンで画像のインポートと保存を処理する方法に大きな違いがあるようです。
全体として、画像を挿入する方法は 2 つあります。最初に試したのは、次のようなものでした。
Set pic = ActiveSheet.Pictures.Insert("C:\documents\somepicture.jpg")
これを行う 2 番目の方法は次のようになります。
Set pic = Application.ActiveSheet.Shapes.AddPicture("C:\documents\somepicture.jpg", False, True, 1, 1, 1, 1)
この 2 番目のアプローチのドキュメントでは、3 番目のパラメーター (ここでは True) がドキュメントと共に画像を保存する責任があると言われています。
ただし、これらのアプローチはどちらも最終結果では多かれ少なかれ同じように見えます。私にとってはうまく機能しますが、Excel 2013 を使用している友人の PC で実行すると機能しません。 Excelのバージョン(Excel 2010以降、これらの画像インポート方法にバグなどがあることをどこかで読みました)。