今だけ人気マンガ100円レンタル特集♪

Powerpoint2007で作成したpptxファイルを解凍して、中にある画像データを外部プログラムで差し替えることで、自動編集作業をしようとしています。

フリーのZIPソフトを使用して、解凍→編集→再圧縮と行ったところ
PowerPointでは開けない(壊れた状態になりました。)

WindowsVistaに標準の圧縮解凍機能を使用して、
テンポラリーフォルダーとして解凍→編集→再圧縮と行った場合
PowerPointで開くことができます。

テンポラリーフォルダーとして開く場合は、外部プログラムから
そのフォルダーを参照することができないため、
やはり、完全に解凍を行って、編集、再圧縮を行いたいのですが
どのように実施すれば、ファイルを壊すことなく解凍圧縮ができるか
ご存じの方がいらっしゃれば、ご教授していただけませんか。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

PowerPointはインストールしていないので代わりにWordで試してみましたが、同じ現象を確認しました。


圧縮ソフトはLhaplusとlhazを試しましたが両方駄目でした。
バイナリエディタで調べてみると、XPの圧縮フォルダ機能・Lhaplus・lhazの3つはそれぞれ中身が違っていました。
一口にzipといっても種類があるということでしょうか。zip形式には詳しくないのでよく分かりません。
続いて、(Lhaplusで解凍したものを)圧縮する際に「送る」→「圧縮フォルダ」を用いてみたところ、これは正常に読めました。
同じMicroSoftのプログラム同士、互換性があるようです。

なお、上で試した
・XPの圧縮フォルダ機能でテンポラリ展開、画像差し替え (OK)
・解凍、画像差し替え、Lhaplusで圧縮 (NG)
・解凍、画像差し替え、lhazで圧縮 (NG)
・解凍、画像差し替え、圧縮フォルダ機能で圧縮 (OK)
の4通りと、もう一つ
・Wordで開き、画像差し替え、保存 (当然OK)
で全てファイルの中身は異なっていました。
    • good
    • 0
この回答へのお礼

いろいろ試していただいてありがとうございます。

実は質問掲載あとも自分で調べていたのですが、
質問内容に誤りがあったことがわかりました。
SortaNerdさんも私と同じ操作ミスを起こしているのだと思います。

Lhaplusで解凍、画像差し替え、圧縮を行ったところ
PowerPointで開けるようになりました。

詳細にやった内容を書きますと、
1)test.pptxをLhaplusで解凍→testという名前のフォルダができる。
2)test\ppt\media下にある画像ファイルを差し替える。
3)testフォルダ下のファイル全てをLhaplusで圧縮
  _reles.zipというファイルができる。
4)_reles.zipをtest.pptxという名前に変更する

なんですが、私は3)の操作が間違っていました。
前は
”testフォルダをLhaplusで圧縮”していたのです。
そうするとtest.zipが出来上がっていました。
そしてtest.pptxに変更してPowerPointで開けなくなってました。

解凍圧縮作業中にフォルダー階層をひとつ増やしていたために
ファイルが破壊されていたみたいです。

私も初めはZIP形式にも違いがあると思いそこに原因があると
思い、質問いたしました。
早とちりで申し訳ありませんでした。

お礼日時:2008/04/03 10:05

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWord、Excel2007ファイルをOpenXMLの形式で編集したい

Word、Excel2007を使用しています。

Word、Excel2007のファイルはOpenXMLの形式であることを
知り、勉強しています。

Wordファイル「Samle.docx」の拡張子を変更して
「Sample.zip」ファイルを用意しました。
その「Sample.zip」解凍すると「Sample」フォルダが作成されて、
中にXMLファイル群が出力されることを確認しました。

「document.xml」に本文に入力した内容が記載されていましたので、
その内容を変えてしました。
「あいう」と書いていたので、「かきく」にしてみました。

その後「Sample」フォルダを圧縮して、
「Sample.zip」を作成しました。
圧縮にはLhaplusというフリーソフトを使いました。

「Sample.zip」のファイル名を変更して、「Sample.docx」にしました。
このファイルを開いて、内容を確認しようと思ったのですが、
以下のメッセージが表示されてしまい、開けませんでした。

---------------------------------------
Office オープン XMLファイル Sample.docxは内容に問題があるため、開けませんでした。
---------------------------------------

これを「OK」すると以下のメッセージが表示されます。

---------------------------------------
このSample.docxは破損しています。プログラムのエラーの結果破損したか、悪意のある作成元が意図的に破壊させた可能性があります。[開いて修復]の機能を実行すると、文書の内容を復元できることがあります。このファイルの作成元が信頼できない場合は、[開いて修復]を実行しないでください。このファイルに[開いて修復]を実行しますか?
---------------------------------------

ここで「はい」を選びましたが、結局正しく開くことはできませんでした。


xmlファイルの編集方法、または圧縮の手順が間違っているのだろうかと
思っているのですが、私なりに調べてみましたが、
うまく調べられませんでした。

もしよろしければ、教えて頂けませんか?
または、分かりやすいページを紹介して頂いても構いません。

ぜひよろしくお願い致します。

Word、Excel2007を使用しています。

Word、Excel2007のファイルはOpenXMLの形式であることを
知り、勉強しています。

Wordファイル「Samle.docx」の拡張子を変更して
「Sample.zip」ファイルを用意しました。
その「Sample.zip」解凍すると「Sample」フォルダが作成されて、
中にXMLファイル群が出力されることを確認しました。

「document.xml」に本文に入力した内容が記載されていましたので、
その内容を変えてしました。
「あいう」と書いていたので、「かきく」にしてみました。

その後「S...続きを読む

Aベストアンサー

階層が間違っている可能性があります。
私他1名がこの罠に引っ掛かっています。
http://oshiete1.goo.ne.jp/qa3915449.html

>No2さん
さわやかに無関係なことを書くのはやめて欲しいものです。

QPowerpoint(パワーポイント)ファイルの圧縮が「図の圧縮」機能でもあまり圧縮されません。

Powerpoint(パワーポイント)形式の資料ファイルを容量が大きいので、圧縮したいのですが、Powerpointの「図の圧縮」機能を利用しても
あまり圧縮されません。Powerpointのバージョンは2007で、OSはVISTAです。
何か、他に圧縮する方法か、フリーソフトを紹介してください。

Aベストアンサー

No.1です。
フリーソフトと書きましたが、確認したらシェア―ソフトでした。
完全にフリーなのものは、なかなか見当たらないようですね。
http://q.hatena.ne.jp/1211165485

なお、PowerPointの図の圧縮なのですが、オプションで解像度の変更も行ってみましたか。
下記像度を変えたものを別名で保存して、表示状態とファイルサイズを比べてみてはどうでしょう。
 

Q圧縮ソフトを利用してもPPTがあまり圧縮されない。

圧縮ソフト(zip)を利用して、圧縮しても、パワーポイントで作成した資料がほとんど圧縮されません。
2.45Mのファイルが、圧縮されても、2.34Mです。
もっと圧縮して小さいサイズにするにはどうすればよいのでしょうか?
それとも、これ以上は無理なのでしょうか?
教えてください。よろしくお願いします。

Aベストアンサー

#1の方の言う通り、画像データが主だとこれ以上そんなには圧縮できないと思いますが、下記の様にJPEGやPPTファイルも圧縮できると言うソフトもあります。
実際に使ったことは無いので、どこまで本当かはわかりません。
>データの種類・内容によって圧縮率は変化します。
と書いてあるし。

参考URL:http://www.sourcenext.com/products/choshuku/

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qvlookup関数で検索値を含む文字列を検索する方法

vlookup関数で例えば E1のセルに=vlookup(D1,A:C,3,false)とした場合、D1が佐藤であれば、A列に「佐藤」がある場合には当然、「佐藤」がある行の3列目の値が返されますが、「佐藤」はなく「佐藤A」や「A佐藤」がある場合にもこれらがある行の値を返して欲しいのですが、いい方法はありませんでしょうか。*を使ってできると思ったのですがうまくいきません。上記例で、=vlookup("*佐藤*",A:C,3,false)とすればできますが、*佐藤*の部分はD1の引用を利用したいのです。
 よろしくお願いします。

Aベストアンサー

=VLOOKUP("*"&D1&"*",A:C,3,FALSE)

QPower Pointで作成した画像を解像度を落とさずにjpeg保存する方法

Power Point 2003 で作成した図(具体的には論文のFigure)を解像度を保ったままJPEG保存するにはどのようなアプリケーションを用いればよいでしょうか?
PPTでJPEG保存すると勝手に解像度が下げられてしまいどんなにPPT上で鮮明に見えていた画像も、JPEG保存後はかくばった新井画像になってしまいます。
はじめからIllustratorなどの画像ソフトを使えばよいかもしれないのですが、素人には操作性が悪くとてもグラフを貼ったり、語句を挿入したりができません。
可能であればPPT上でコピーしてそれを何かのアプリケーションでペーストして微調整するぐらいのアクションでできないでしょうか?
是非教えてください。

Aベストアンサー

PowerPoint 2003であれば
http://support.microsoft.com/kb/827745/ja
の方法でスライドを図としてエクスポートする際の解像度を
変更することはできますが・・・

Qエクセルの一時ファイルが保存されているフォルダは?

エクセルの一時ファイルが保存されているフォルダの場所を教えてください。

以前、エクセルの動きがすごく遅くなった不具合があった時、
一時ファイルを消せば直るかもといわれ、確かにそうすると
解決しました。

大分昔のことなので、一時ファイルのフォルダがどこだったのか
忘れてしまいました。
ご存知の方、教えてください。

EXCEL 2000です。

Aベストアンサー

こんにちは。

返事が付かないままに、思い出したことですが、まとめておきます。

1.不要なファイルを削除する
(1) スタートメニューより[検索]をポイントし[ファイルやフォルダ(F)]
(2) 「ファイルとフォルダを検索」でファイルまたはフォルダの名前(M)に半角英数字で「emf」と入力し検索
(3) 検索結果でフォルダ名が「\Dcument and Settings\・・・・・\temp」と記載されているファイルのみ削除
2.不要なアドインをはずす
(1) エクセルを起動して、ツール ⇒ アドイン
(2) 使用していないアドインをはずす
3.Outlookの履歴をOFFにする(OutlookExpressでなくOutlookの方)
(1) Outlookを起動しツール ⇒ オプション ⇒ 履歴
(2)「履歴を自動記録するアプリケーション」のチェックを外す

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m


人気Q&Aランキング

おすすめ情報