和尚のあれこれ備忘録

Officeやマクロ等、仕事や日常で発生した事柄についての備忘録

業務においての備忘録_Excel印刷時に、貼り付けた画像のサイズが変わる原因と対処法

Excelで作成した報告書等を印刷する際、貼り付けた画像等のサイズが画面上の映っているものと違う大きさで出力されるというトラブルが発生。

その原因と対処法について記載した備忘録である。

最初に断っておくが、上記トラブルは筆者である私のPC環境で起こったものであり、同様の事例が発生したとしても同じ方法で解決可能かどうかは不明であるので留意されたし(あくまで筆者の備忘録)

 

要旨

まず原因と対処法について記載し、その後詳細な説明を述べる。

原因

  • Office2010を使用している、またはOffice365を使用していてもOffice2010で作成したExcelのデータを引き継いで使用している場合、ディスプレイ上の1cmとページレイアウトビュー(=印刷プレビュー)での1cmの長さに違いがあるため
  • 印刷プレビューの1cmの長さが勝手に変わるため

 

対処法

  1. Office365の場合、新規シートを作成した上で、同様の形式に作り直す(新規作成)
  2. ページレイアウトビューで表示されるルーラに、画像等のサイズを合わせるように改めて設定しなおす(力技、非推奨)

正直対処法としてはこちらが教えてもらいたいくらいである。

具体的に言えばページレイアウトビューのルーラの長さの設定を変える方法さえわかればどうにか出来そうではある。知っている方がおられたら詳細な情報を求めます。

 

なお筆者はこのトラブルを確認したのはOffice2010で作成されたExcelのみであり、他の2013や2016で同様のトラブルが発生するのかは不明である。

 

詳しい説明

次に画像を交えて、このトラブルについての詳細な説明を記載する。

順番は以下のようになっている

  1. どのようなトラブルか?
  2. 原因はなにか?
  3. 対処法は?

なお多少砕けた口調に所々なるやもしれぬが、感情の発露ゆえ大目に見てもらいたい。

では説明に移る。

 

1.どのようなトラブルか?

f:id:osyousama:20220327204458p:plain

例として上記画像のような10cm×10cmのサイズの正方形をExcelで作成。

これを印刷出力すると以下のようになる。

f:id:osyousama:20220327204758p:plain

上記のように、サイズが変わり違う大きさで印刷されている。縦は9.2~3cmに縮み、横は10.2~3cmに広がっている。測端的に言えば潰れている状態だ。特に縦の縮みっぷりは酷い。測定誤差ではカバーできないズレである。

今回は『Microsoft Print to PDF』を使用したが、紙への出力でも同様の結果となる。

画像だと分かりにくいかもしれないが、写真等の内部に形が写っているものであれば分かりやすく潰れている。

報告書等では写真を載せることもザラであるため、非常に困った事態となった。

 

2.原因はなにか?

こうなってしまう原因について追及した所、(私にとっては)衝撃の事実が判明した。

先ほどの図形を載せたシートをページレイアウトビューで確認した。

 

f:id:osyousama:20220327210517j:plain

このページレイアウトビューでは、縦と横にcm単位のルーラが現れる。

ここで注目してもらいたいのは左下の青丸部分、縦のルーラの値である。

図形のサイズプロパティでは確かに高さ(縦)は10cmと書かれているのに、ルーラ上では9cmちょっとまでしか届いていない。そしてこれは先ほど、印刷出力された図形のサイズと極めて近い

横の大きさも先ほどの10cmからずれているが、これは図形のサイズプロパティにも反映されており、またルーラ上でもほぼ一致しているように見受けられる。

 

確認のため、図形のサイズを下の画像のように、縦横ともにルーラに合わせて図形のサイズを変更した。

f:id:osyousama:20220327213325p:plain

 

印刷結果は次の画像の通り。

f:id:osyousama:20220327213723p:plain

ほぼ10cm×10cmとなった。ズレは測定誤差と言ってもいいくらいの範囲に収まった。

 

上記の結果より次のことが分かった。

画像や図形などは印刷時、その個別のサイズプロパティに寄らず、ページレイアウトビューにおけるルーラが示すサイズの大きさで出力される

そもそもページレイアウトビューとは印刷プレビューのことであり、誰もがご存じの通り、印刷は基本的に印刷プレビュー通りに行われる。

そして私は今回知った――というより恐らくはそうだと推測した――のだが、Excelにおいての印刷プレビュー通りとは即ち、ディスプレイ上の直感的な見た目ではなく、ページレイアウトビューにおけるルーラのサイズ通りという意味を指す。

ディスプレイ上においてはプロパティ通りのサイズで映っているわけだが、印刷時においては『画像のサイズプロパティ?なにそれ喰えるの?』状態なわけだ。

 

 

 

……( ゚Д゚)ハァ?

 

いや、アホかよ?

というよりなんでこんな状態になったのか、意味が分からんのだが。

 

失礼、言葉が過ぎました。

とはいえ『画像のサイズプロパティのcmは、一体何を指しているのだ?』っていう疑問が残る。

なので一つ駄目元で検証を行った。

ページレイアウトビュー上で行列の幅を全て1cmに変更してみた。ページレイアウトビューでは幅をcm単位で変更できる(標準ビューでは主にポイント)。

まずは列(横方向の長さ)。

f:id:osyousama:20220327215925p:plain

こちらは概ね問題なし。どうしてもピクセル(画素数)で縛られているため、僅かな誤差は仕方ない。

次に行(縦方向の長さ)。

f:id:osyousama:20220327220800p:plain

 

はい、バカ!

 

縦方向でのセルの1cmとルーラの1cmがめちゃくちゃずれてるやんけ!

はい、そして10行目の下線がルーラ上の9.2~3cmの所にありますね!

9.2~3cm、この数字、私には聞き覚えがあります!

ここでもう一度、10cm×10cmの正方形を作成してみましょう!

f:id:osyousama:20220327221654p:plain

 

はい解散!

 

すいません、言葉が過ぎました。まだ帰らないでください。

 

えー、上記の結果よりこのトラブルが起きた原因が判明したため、以下にまとめる。

  1. 1cmという単位が2種類あり、しかも長さが揃っていない(印刷時に参照するルーラの1cmと、セルが示す1cmは別物)
  2. 画像のサイズプロパティ等で参照する1cmは、セルが示す1cmを基準に設定される
  3. 印刷時はセル側の設定全てを無視して、ルーラの長さのみを基準に印刷される

以上により、印刷時の画像サイズの変更が発生する。

 

いやー原因がわかってよかったよかった。

 

 

……バッカじゃねぇの!?

 

失礼、言葉が過ぎました。

 

3.対処法は?

口調を当初の物に戻させていただく。

 

肝心要の対処法だが、私が知っているのは2つしかない。

Office365を導入している場合の話だが、一番簡単なのが新しくExcelのワークシートを作成し同様の形式に作り直すことだ。

f:id:osyousama:20220327224318p:plain

上記の画像はOffice365で作成したシートで、行列ともに幅を1cmにしたものである。

御覧の通り、ルーラの長さとセルの位置がほぼ一致している。

つまりOffice365であれば画像がずれることなく印刷される。

なお、Office365を導入していても、Office2010で作成したエクセルのデータをそのまま使っている場合、このトラブルは発生する。

そのため、ワークシートを新規作成をしなければならないのだ。

 

2つ目は単純かつ力技だが、画像のサイズを目的の大きさに合わせるよう変更するという方法。

縦が10cmなら、ルーラの10cmに合わせればいい、という考え方だが、こちらは非常にお勧めしない

f:id:osyousama:20220327230318p:plain

ここで10行目の幅を広げた際の、ルーラの8の位置(赤枠内部)について見てもらいたい。

f:id:osyousama:20220327230915p:plain

ルーラ上の8の位置が移動したのがお分かり頂けただろうか。9行目下線部に近かったのが、今は9行目の中央当たりに移動している。

 

何が言いたいかというと、行の幅を変えるとルーラの幅も勝手に変更されるのである。

つまり、折角画像のサイズをルーラに合わせても、何かの拍子で行列の幅が変われば、全て無駄になるということである。

 

常に決まった書式でやるというのなら問題はないやもしれぬが、やはりオススメはできない。

 

ちなみに、図形プロパティの『セルに合わせて~~』という項目があるが、どれを選んでも意味はなかった

セルが移動や変形しているからサイズが変わるのではないため、だと思われる。

 

結言

実のところ、このトラブルの原因そのものには結構前から気付いていた。

Office365を導入した際、長い呪縛から解き放たれたわけだが、時間が経つと忘れてしまうかもしれないため、また、同様のトラブルが(起こってほしくはないが)今後のバージョンで起こった際にも対処できるよう、備忘録としてここに示す。

 

もしこの対処法(具体的に言えばルーラの設定方法を)ご存じの方がおられるなら、是非とも情報提供を求めます。

 

以上