docx, xlsx, pptx の中に張り付けられた PNG ( BMP ) を JPEG へ変換して docx, xlsx, pptx のファイルサイズを削減する。
Revision | 154 (tree) |
---|---|
Time | 2019-05-13 22:53:27 |
Author | hor931101jp |
(empty log message)
@@ -656,64 +656,70 @@ | ||
656 | 656 | File.Move(ZipFileName, OrgFileName); |
657 | 657 | |
658 | 658 | //! officeで保存しなおす |
659 | - FileExtension = OrgFileName.Substring(OrgFileName.Length - 5).ToLower(); | |
660 | - if ((FileExtension == ".xlsx") || (FileExtension == ".xlsm")) | |
659 | + try | |
661 | 660 | { |
662 | - var xls = new Microsoft.Office.Interop.Excel.Application(); | |
663 | - if (xls != null) | |
661 | + FileExtension = OrgFileName.Substring(OrgFileName.Length - 5).ToLower(); | |
662 | + if ((FileExtension == ".xlsx") || (FileExtension == ".xlsm")) | |
664 | 663 | { |
665 | - xls.Visible = false; | |
666 | - try | |
664 | + var xls = new Microsoft.Office.Interop.Excel.Application(); | |
665 | + if (xls != null) | |
667 | 666 | { |
668 | - //開いて保存して終了するだけ | |
669 | - var book = xls.Workbooks.Open(OrgFileName); | |
670 | - book.Save(); | |
671 | - book.Close(); | |
667 | + xls.Visible = false; | |
668 | + try | |
669 | + { | |
670 | + //開いて保存して終了するだけ | |
671 | + var book = xls.Workbooks.Open(OrgFileName); | |
672 | + book.Save(); | |
673 | + book.Close(); | |
674 | + } | |
675 | + catch | |
676 | + { | |
677 | + } | |
678 | + xls.Quit(); | |
672 | 679 | } |
673 | - catch | |
674 | - { | |
675 | - } | |
676 | - xls.Quit(); | |
677 | 680 | } |
678 | - } | |
679 | - if ((FileExtension == ".docx") || (FileExtension == ".docm")) | |
680 | - { | |
681 | - var word = new Microsoft.Office.Interop.Word.Application(); | |
682 | - if (word != null) | |
681 | + if ((FileExtension == ".docx") || (FileExtension == ".docm")) | |
683 | 682 | { |
684 | - word.Visible = false; | |
685 | - try | |
683 | + var word = new Microsoft.Office.Interop.Word.Application(); | |
684 | + if (word != null) | |
686 | 685 | { |
687 | - //開いて保存して終了するだけ | |
688 | - var doc = word.Documents.Open(OrgFileName); | |
689 | - doc.SaveAs2();// 強制上書き | |
690 | - doc.Close(); | |
686 | + word.Visible = false; | |
687 | + try | |
688 | + { | |
689 | + //開いて保存して終了するだけ | |
690 | + var doc = word.Documents.Open(OrgFileName); | |
691 | + doc.SaveAs2();// 強制上書き | |
692 | + doc.Close(); | |
693 | + } | |
694 | + catch | |
695 | + { | |
696 | + } | |
697 | + word.Quit(); | |
691 | 698 | } |
692 | - catch | |
693 | - { | |
694 | - } | |
695 | - word.Quit(); | |
696 | 699 | } |
697 | - } | |
698 | - if ((FileExtension == ".pptx") || (FileExtension == ".pptm")) | |
699 | - { | |
700 | - var powerpoint = new Microsoft.Office.Interop.PowerPoint.Application(); | |
701 | - if (powerpoint != null) | |
700 | + if ((FileExtension == ".pptx") || (FileExtension == ".pptm")) | |
702 | 701 | { |
703 | - try | |
702 | + var powerpoint = new Microsoft.Office.Interop.PowerPoint.Application(); | |
703 | + if (powerpoint != null) | |
704 | 704 | { |
705 | - //開いて保存して終了するだけ 2番目と3番目の引数は既定値。4番目の引数が非表示で開く。 | |
706 | - var ppt = powerpoint.Presentations.Open(OrgFileName, Microsoft.Office.Core.MsoTriState.msoFalse, | |
707 | - Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse); | |
708 | - ppt.Save(); | |
709 | - ppt.Close(); | |
705 | + try | |
706 | + { | |
707 | + //開いて保存して終了するだけ 2番目と3番目の引数は既定値。4番目の引数が非表示で開く。 | |
708 | + var ppt = powerpoint.Presentations.Open(OrgFileName, Microsoft.Office.Core.MsoTriState.msoFalse, | |
709 | + Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse); | |
710 | + ppt.Save(); | |
711 | + ppt.Close(); | |
712 | + } | |
713 | + catch | |
714 | + { | |
715 | + } | |
716 | + powerpoint.Quit(); | |
710 | 717 | } |
711 | - catch | |
712 | - { | |
713 | - } | |
714 | - powerpoint.Quit(); | |
715 | 718 | } |
716 | 719 | } |
720 | + catch | |
721 | + { | |
722 | + } | |
717 | 723 | |
718 | 724 | Log.Put("作業終了しました。"); |
719 | 725 | Log.Put("It is finished."); |