2012年05月19日

Excel 2010 で VBAを使用して貼り付けた図がリンクになっている

Excelシート上に写真を自動で配置して、モデルさんのプロフィールのようなものを自動で作成するプログラムを作って使ってもらってたのですが、最近「Excel 2010 で作成すると、他のPCで貼り付けた写真が見れない」・・・つまりシート上に画像がなくリンクになっている・・・と報告がありました。

僕が開発した環境は Excel 2007・・・2010 も 2007 と同じようなものと思っていただけに不思議で仕方なかったのですが、今日、実際に Excel 2010 で試してみて現象が再現しました。

通常の操作で[挿入]〜[図]でやると正常なのですが、VBA で
ActiveSheet.Pictures.Insert

ってやるとダメみたいです。
でもね・・・マクロ記録やると、2010でもこう記録されるんですよ!

ネットで検索してみたらありました。
Excel 2010 で Pictures.Insert メソッドを使用して図をワークシートに挿入すると図がリンク オブジェクトとして挿入される


「Shapes.Add メソッドを使用してください」って書いてある。

はい、そうですか・・・でも同じように貼り付けられるかなぁ・・・サイズ変更もやってるし・・・

Excelって比較的互換性があっただけに、今回のはショックです。
posted by ぜんこう at 15:53| Comment(2) | Microsoft Excel

2011年10月28日

画像を印刷すると縦横比がおかしい(横に広がる?)

Excelに画像ファイルを貼り付けて印刷(印刷プレビュー)すると、画像が横に広がってしまう事象が以前からありました。
Excel2003までは、その画像を[切り取り]→[形式を選択して貼り付け]で、「図(拡張メタファイル)」で貼り付ければ、正常に印刷できるようになっていたのですが、Excel2007からは、それをやっても横に広がったままになりました。

ところが、仕事先ではその事象が発生しないことがわかり、いろいろ調べてみたら、Excel2003までの場合 [ツール]→[オプション]の[全般]タブ、Excel2007だと [Officeボタン]→[Excelのオプションの[基本設定]。

ここでフォントとフォントサイズをインストール時のもの(たぶん、MS Pゴシック 11ポイント)から変更すると上記事象が発生するみたいです。
僕は MSゴシック 9ポイントに変更しています。
ただし、フォント/フォントサイズを変更した状態で作成したシートをインストール時の状態のExcelで開いても、解消されないので、インストール時のフォント/フォントサイズの状態で作成したシートを使わないといけません。

このフォント/フォントサイズを変更すると、列幅のポイント数も変化したので、それが影響したのだと思いますが、縦横比を維持してくれないのは、どうかと思います。
僕はバグと思うけど、Microsoftは仕様って言うんでしょうね。
posted by ぜんこう at 13:27| Comment(0) | Microsoft Excel