Officeのファイルの容量を減らす方法(Excel,Word,PowerPoint,Aceess,Outlook)

Microsoft Officeはメールで送ったり、サーバーに保存したりしますが、
容量が重すぎると、メールの上限に引っかかたり、
サーバーのリソースを消費したりすると思います。
そこで今回は ExcelやWord、PowerPointAccessOutlook
Officeファイルを圧縮する方法を書いていきたいと思います。

Excel、WordやPowerPointは長くなりそうなので先にAccessOutlookのファイルの容量を削減する方法を紹介し、次にExcel、Word、PowerPointの容量を抑える方法を紹介します。

まず、これからの話を分かりやすくするために、「ファイル名拡張子」のチェックボックスをつけることをお勧めします。


Accessファイルの容量を減らす方法

Accessのファイル(拡張子がmdbやaccdb)はテーブルやクエリを削除しても容量がすぐに削減されません。その為使い続けていると、容量が肥大化してしまうことがあります。
そのような時はファイルタブから「データベースの最適化/修復」を実行します。
これを実行すると最適な容量まで削減されます。

大容量のAccessのファイルがネットワーク上にある場合、
ネットワーク上で最適化を行うと実行に時間がかかりいつまでも終わらないことがあります。
(ネットワークの速度やサーバーのスペック等に依存します)
そのような場合は、ローカルにコピーしてから、「データベースの最適化と修復」を実行するとすぐに終わることがあります。

Outlookファイルの容量を減らす方法

OutlookAccessと同様にデータを削除しても移動しても容量が減ることがありません。

「ファイル」タブから「アカウント設定」を選択し、「データファイル」タブを選択して、「設定」を選択、「今すぐ圧縮」を選択します。
(念のためにバックアップを取っておくことを推奨します)
容量が多い場合、それなりに時間がかかります。


PowerPointの容量の減らしかた

・動画を挿入したPowerPointの場合

PowerPointにaviやMOVといった動画を挿入していると容量が膨大になりますが、
PowerPointの機能で中身の動画をmp4に変換して圧縮することができます。

動画を埋め込んだパワーポイントを開いて、
「ファイル」タブを選択し、「メディアの圧縮」を選択します。

画質を選択します。上に行くほど高画質大容量で、下に行くほど低画質低容量となります。
高画質にする場合は「プレゼンテーション品質」(2019ではフルHD1080p)を選択します。

PowerPoint 2016とPowerPoint2019で表記が異なりますが、処理の内容は同じです。


最後に上書き保存するとファイルの容量が下がっていることが確認できます。

ExcelのグラフをPowerPointにはりつける場合

ExcelのグラフをPowerPointに貼り付ける時のオプションで容量が大きく変わります。
特に右クリックメニューの一番左や一番左から2番目を使用して貼り付けた場合、
元のExcelファイルの容量分だけ増えます。


しかも、1つのExcelファイルから2つのグラフを右クリックメニューで一番左を選んで貼り付けた場合でも、全く同じExcelファイルが2つ分埋め込まれてしまいます。
その為、無駄なデータがを少なくするために基本的に右クリックメニューで一番左と、
左から2番目は使用しないで、なるべくCtrl+Vで貼り付けるようにしましょう。

すでに貼り付けられているグラフがどのオプションで貼り付けられているか見分けたい場合はグラフを選択したときの表示で見分けることができます。(下図参照)

Excel、Word、PowerPointファイルの容量の減らし方

Excel、Word、PowerPointのファイルのうち、文字や書式などのデータが大量に存在して、かつ「97-2003形式」(拡張子がxls、doc、ppt)の場合、
2007以降の形式(xlsx、xlsm、docx、pptx)で保存すると容量を削減することができます。




ただし、画像が多い場合はこの方法で容量を削減の効果はあまり期待できません。
画像が多い場合、画像を選択して図ツールの「書式」タブで「図の圧縮」を実行します。
解像度の選択ではファイル内に挿入されたJPEGは選択した解像度に従って容量を削減します。
PNGはどの解像度を選択しても変化がないので注意が必要です。
また、「図のトリミング部分を削除する」のチェックを付けている場合、
挿入されたJPEGとフルカラー(24bitカラー)のPNGはトリミングされた部分がカットされます。
減色されたインデックスカラーpngファイル(256色の8bitインデックスカラー等)は、
トリミングされた部分がカットされない
ため、注意してください。

インデックスカラーについては下で説明します。

ファイル内のPNGの画像を減色(インデックスカラー)する

通常の画像は赤(R)、緑(G)、青(B)の色の光の三原色の組み合わせで表現されます。
その色の数は256(R)×256(G)×256(B)=1677万7216色もあります。256色を8ビットに
言い換えると、256(R)×256(G)×256(B)=8(R)+8(G)+8(B)=24ビットになります。
これを一般的に「フルカラー」と呼びます。また、さらに透明度(アルファチャンネル)の
256色=8bitを加えると、32bitのトゥルーカラーになります。
しかし、写真ならともかくパソコンの画面をキャプチャした画像にそこまでに色のパターン数はいりません。そこでPNG256色の8ビットカラーに減色することで画像のサイズを抑えることができます。この画像のことを一般的にインデックスカラーと呼びます。
一般的にPNGJPEGよりも容量が大きいと言われますが、JPEGはインデックスカラーにできない(あるいはインデックスカラーにできるソフトが少ない)ので、PNGを256色以下に減色した場合はPNGの方が容量が少なくなります。
ただし、一度JPEG保存した後に変換されたPNGやグラデーションがかかったPNGファイルを256色に減色しても、容量は減りづらくなります。
(JPEGに一度保存するとモアレと呼ばれるノイズが入る為とグラデーションは色が大量に使われている為)

従って、パソコン上の画面をキャプチャした画面等、色数がすくないPNG画像は256色以下に減色してしまえば、容量を抑えることができます。
Officeファイル内にある画像を取り出して、内部の画像データを差し替えることができれば、容量を削減できるということです。
そして、一部のOfficeファイルではそれが可能です。
Excel、Word、PowerPointの2007以降の形式(xlsx、xlsm、docx、pptx)は実態がzipファイルとなっており、その証拠に「pptx」の拡張子を「zip」に変更するとzipとして中身を解凍することができます。この時解凍したフォルダ内の「ppt」フォルダの「media」フォルダを開くと、PowerPointに挿入された画像がまとめて保存されています。

この状態でPNGを減色処理を行い、再度zip化して拡張子をもとに戻せば、再びPowerPointのファイルとして開けるようになるのですが、再圧縮する手順を間違えると正常なPowerPointのファイルとして開けなくなるのと、いちいち拡張子を変更したり解凍するのが面倒なので、ツールを使用してpptxのまま中身を取り出して、安全に差し替える方法を紹介します。

必要なソフトは以下の2つです。

7zip(「7z1900-x64.exe」を実行してインストールしてください)
https://sevenzip.osdn.jp/

Pngyu(「Pngyu_win_101.zip」を解凍してフォルダを好きなところに保存してください)
https://nukesaq88.github.io/Pngyu/ja.html

7zipをインストールすると、Excel(xlsx、xlsm)、Word(docx)、PowerPoint(pptx)のファイルを右クリックメニューで「7-Zip」の(一番上の)「開く」を選択すると、拡張子をzipに変更しなくても、中身のデータを閲覧することができます。
(慣れるまでは、念のためにファイルのバックアップを取ってください。操作を間違えた場合、最悪Officeファイルが壊れて開けなくなる可能性があります
また、PNGをインデックスカラーに差し替えると、さきほど紹介した「図の圧縮」で「図のトリミング部分を削除する」にチェックを付けてもトリミング部分が削除されなくなります
トリミング部分を削除したい場合は、先に「図の圧縮」で図のトリミング部分の削除を行ってください。



Excelなら「xl」、Wordなら「word」、PowerPointなら「ppt」というフォルダを開き、「media」というフォルダを開くと画像データが一括で入っているので、それを適当なフォルダにドラッグアンドドロップでコピー(正確には解凍)します。


Pngyu.exeをダブルクリックして起動し、Officeファイルから取り出した画像ファイルを一括で、Pngyuの画面にドラッグアンドドロップします。(PNGファイル以外の拡張子のファイルを一緒にドラッグアンドドロップしてもPNGファイルのみが取り込まれます)

「Custom」を選択し、「Dithered」のチェックを外し「Compress Start」を選択します。
明らかに使用されている色が少ない場合は、Colorsを「16」(16色)に設定しても良いです。

pngyuで減色したら、今度はそのファイルを7zipで開いたofficeファイルの中身のデータにドラッグアンドドロップして上書きを行います。

Officeファイルの容量が削減できていることが確認できます。ファイルを開いて、実際に正常に開けること、(減色による)色の劣化具合を確認してください。
(7zipを閉じないと、読み取り専用になるので注意してください)


png画像が現在何bit(何色)か一覧で知る方法

フォルダを一覧形式したあと、列を右クリックして「その他」を選択、IMEをON(全角入力)
にした後、「ビット」と入力してエンターキーを押すと、「ビットレート」までジャンプします。そのすぐ下にある「ビットの深さ」のチェックを付けて「OK」ボタンを押すと、
「ビットの深さ」という列が追加されます。おおざっぱにしか分かりませんが、何ビットか一覧で分かりますので減色するときの参考にしてください。。
・24なら24bit(フルカラー)
・8なら8bit(256色)
・4なら4bit(16色)
・1なら1bit(2色)


最初から減色したPNG画像を挿入する方法

先ほどはすでに挿入されているpng画像を減色する方法を紹介しましたが、
これからパソコンの画面をキャプチャして画像を挿入する場合は、
フリーソフトを使って256色に減色した画像を挿入した方が後から減色する手間が省けます。
筆者がよく使ってるのはWinShotというソフトです。。

Winshot(ws153a.zipを解凍してフォルダを好きなところに保存してください)
https://forest.watch.impress.co.jp/library/software/winshot/

ある程度設定が必要ですが、それほど手間でもないのでオススメです。
Winshotを起動してタスクトレイ(通知領域から)アイコンをダブルクリクするか
右クリックして「環境設定」を選択して下記設定を行います。

・「基本設定」タブでファイルの保存場所の指定
・「品質/減色」タブで「256色」を選択
・「その他の設定」タブでビットマップを「.png」に変更
・「ホットキー」タブでビットマップへ保存(矩形範囲選択)を「PrintScreen」
・「ホットキー」タブでクリップボードへコピー(矩形範囲選択)を「Ctrl+無変換」
(「Ctrl+無変換機」にしたのは、キーの配置が「Ctrl+C」に近かったのと
既存のショートカットと被りにくいからです。ここらへんは自由に設定してください)




設定が終わったら、実際にPrintscreenキーで範囲選択してpngファイルを作成して、「図の挿入」から挿入するか、「Ctrl+無変換キー」で範囲選択してコピーして、Ctrl+Vで貼り付けを行います。


特にこのCtrl+無変換で範囲選択してコピーし、Ctrl+Vで貼り付けは非常に便利で、
Officeのファイルで貼り付けられるのはもちろん、TwitterやDiscordなどインターネット上のさまざまなSNSに貼り付けるときにもCtrl+Vで貼り付けられるようになります。

Windows10の既存の機能で「Win+Shift+S」で範囲指定して画像をコピーする機能がありますが、こちらはフルカラーで容量が大きい上にマウスポインタがキャプチャされないので多少不便です。

ただ、Winshotにも欠点があります。
2つのディスプレイを使用している場合、キャプチャできるのはプライマリディスプレイしか使えないことです。

また、タスクマネージャーなど管理者権限で起動している画面にフォーカスがあたっている
(アクティブになっている)場合、Winshotも管理者権限で起動しておかないと、ホットキーが反応しないことに注意してください。
(管理者権限はWinshotの問題ではなく単純なWindowsUACによる制限です)
筆者はタスクスケジューラでログイン時に管理者特権で起動するように設定しているので
この問題は特に感じていません。

Winshotと同等以上の機能があり、セカンダリディスプレイもキャプチャできるソフトがあればそちらを使ってもいいです(あればぜひ教えてください)