• ベストアンサー

エクセルのファイルサイズ

エクセルで画像を貼ったファイルを作りました。 貼った画像は10枚ほどで いずれも10~100kバイトほどの画像で合計で500kもありません。 ところがファイルを保存するとサイズが3Mにもなってしまいました。 会社の規則で3M以上のファイルはメールで送らずサーバに上げることになっているのですが 出来ればメールで送れるサイズにしたいです。 画像ファイル自体をリサイズして合計を200kほどにしても出来上がったエクセルファイルのサイズはわずかに減った程度でした。 また、新規作成したファイルに同じ画像ファイルを貼り付けて保存したところちゃんと500k強のファイルになりました。 しかし、その新規ファイルから画像をコピーしてもとのファイルへ貼り付けて保存するとやはり3Mのファイルになってしまいます。 いったいどうしたらよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.6

こんにちは。KenKen_SP です。 下記のようなマクロを走らせて、一度シートのクリーンアップを してみてはどうですか? 残すオブジェクト(画像とかシェープとかボタン)を選択し、 マクロを実行すると、非選択のオブジェクトを削除します。 編集の過程で何らかの理由で「表示されていない、しかしデータ としてはブック内に残っている」オブジェクトが発生することが あります。 これらのゴミデータが、ブックのファイルサイズ肥大化の原因に なっている場合があります。 【手順】 ※注意 VBA による操作はやり直しができませんので、必ずバック     アップしてから次の操作を行って下さい。 1. 単独で新規ブックを作成し、アクティブにする 2. [Alt]+[F11]キー押下で Visual Basic Editor(以下 VBE )   を起動 3. VBE メニューから[挿入]-[標準モジュール]をクリック 4. 3. で開いたスペースに下記コードをコピー&ペースト 5. VBE を閉じる 6. 1. のブックを開いたまま、今回の処理対象となるブックを   開いてアクティブにする 7. マクロを実行 '以下コード Sub シート内の不要オブジェクト削除()   Dim Obj     As Object   Dim i      As Long   Dim aryObjName() As String   Dim Flag     As Boolean      If TypeName(Selection) = "Range" Then Exit Sub   '選択されたオブジェクト名を取得   i = 0   ReDim aryObjName(Selection.ShapeRange.Count - 1)   If Selection.ShapeRange.Count = 1 Then     aryObjName(0) = Selection.Name   Else     For Each Obj In Selection       aryObjName(i) = Obj.Name       i = i + 1     Next Obj     i = i - 1   End If   ReDim Preserve aryObjName(i)   '不要なオブジェクトを削除   For Each Obj In ActiveSheet.DrawingObjects     Flag = False     For i = 0 To UBound(aryObjName)       If Obj.Name = aryObjName(i) Then         Flag = True       End If     Next i     If Flag = False Then       Obj.Delete     End If   Next Obj   Set Obj = Nothing End Sub

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • panda_
  • ベストアンサー率26% (96/362)
回答No.5

No.2です。 「上書き保存」ではなく時々「別名で保存」をすると 無駄の無いスリムなデータになる、 とパソ雑誌に書いていました

すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 >別段ファイルサイズが100Mだろうが200Mだろうが関係ないんです>社内メールなので >ただ、規則で3M以下との制限があるんです。 私個人の受信の話から。私は、1M以上のメールの受信は、ダウンロードしませんね。リモートサーバーにしてしまいます。ただ、私個人は、あくまでも、1M以上は、どこかのストレージ・サーバーを使ってほしいと思っています。 つまり、こういう話は、送信側の問題ではなくて、受信側のテクニックの問題だと思います。もちろん、相手が了解の上なのですが、ExcelやWordは、ZIPやLha圧縮にすれば、半分以下になってしまうでしょう。 以前は、こういうExcelのファイルなどは、圧縮するのが常識的だったような気がします。Excelファイルは、意外に弱いもので、送信している最中に壊れてしまうことがありました。 受け取り側が、展開の方法が分らない場合は、自己展開にすればよいのですね。CAB圧縮になりますが、インストーラを付けてもよいと思います。アンチウィルスの洗礼は受けますが、ウィルス入りでなければ大丈夫だと思います。 他の方法では、旧式ですが、ファイルをバイナリ分割してしまう方法です。どちらかというと、マニアックな方法ですが、受信側の人がつなげるのです。 後、Excelの、余計なシートは削除することですね。ある程度、ファイルサイズが小さくなることがあります。まあ、他にも思いつくことはありますが、とりあえず、こんなところにします。

すると、全ての回答が全文表示されます。
  • poko1207
  • ベストアンサー率25% (46/178)
回答No.3

宅ファイル便を使えばメール(実際にはDL)できますよ。 アドレスを参考にしてください

参考URL:
http://www.filesend.to/
erara
質問者

お礼

コメントありがとうございます。 メールで送ること自体は可能なんです。 別段ファイルサイズが100Mだろうが200Mだろうが関係ないんです>社内メールなので ただ、規則で3M以下との制限があるんです。 実際80Mほどのファイルならメールで送ったことあります>怒られましたけど…涙

すると、全ての回答が全文表示されます。
  • panda_
  • ベストアンサー率26% (96/362)
回答No.2

多分、、、 インデザインデータは、編集を繰り返すとだんだん大きくなります。 これは、アイテムを編集で削除しても、中の情報が完全には消えないためです。

erara
質問者

お礼

コメントありがとうございます。 解決方法はないということですね?残念です。

すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

挿入-図-ファイルからで、画像を取り込んだらどうなりますか?

erara
質問者

お礼

コメントありがとうございます。 現在、そのように取り込んでいます。

すると、全ての回答が全文表示されます。

関連するQ&A