• 締切済み

PowerPoint2010のjpg保存時の解像度の変更について

PowerPoint2010のjpg保存時の解像度の変更について 作成したパワーポイントを300ppiの解像度の画像(jpeg又はpng)として保存したいです。 「名前を付けて保存」にてツール→保存オプション→詳細設定にて 既定の解像度の設定欄があるのですが、96ppi150ppi220ppiの3種類しか選択できません。 色々と調べたのですが、結局お手上げ状態です。 どなたかご存じの方がおられましたらよろしくお願いします。

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.4

#1~3です。これで最後にいたしますが、 http://rd.vector.co.jp/soft/dl/winnt/art/se426875.html を用いると、PowerPoint2010からエクスポートした、EMF→画像サイズ指定でJPEGに変換できました。試しに10000×7500ピクセルで出力してみましたが、動作しました。(当然重いので、複数画像で試さないのが賢明です) 愛用しているVixでも変換可能ですが、こちらはBitmapに変換してからリサイズしているらしく、斜め線のギザギザは出力画像サイズを大きくしても変わり映えしませんでした。 なお、XP付属のPaintでも変換可能ですが、EMFの読み込みに、起動したことを忘れてしまうほど時間がかかり、画面の縮小表示がないため、ほんの一部しか表示されず、なんだか分からんといった状態で、使いものになりませんでした。 以上、ご参考まで。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

#1,2です。もう見ていないかもしれませんが、調子に乗って... まず#2のコードですが、PowerPoint2010/WinXPで動作しました。 さて、300dpi相当よりも高解像度で出力する方法を考えてみました。 #2のエクスポートのコードをいじっていて気がついたのですが、2010ではEMF形式が指定可能です(2000ではNGでした)。ひょっとするとと思い、名前を付けて保存のオプションを見ると、EMF形式があるではないですか。EMF形式は円を描く、線を引くといった動作を記録したベクトルデータですので、描画する先のサイズに応じた解像度になります。 従ってEMF形式で出力すれば、あとは任意解像度でJPEGなどに変換してくれるフリーソフトのお世話になれば良いことになります。 該当するソフトを一つ見つけましたが、これは2010からエクスポートしたemfには対応していない様でエラーになります(2010のemfはバージョンが上がっているのかも知れません) http://www.vector.co.jp/soft/dl/win95/art/se131666.html 下記APIでクリップボード経由で出力したemfは読むことができました。(PowerPoint2010/WinXP) Const CF_ENHMETAFILE = 14 Private Declare Function OpenClipboard Lib "user32" (ByVal hWndNewOwner As Long) As Long Private Declare Function CloseClipboard Lib "user32" () As Long Private Declare Function GetClipboardData Lib "user32" (ByVal uFormat As Long) As Long Private Declare Function CopyEnhMetaFile Lib "gdi32" Alias "CopyEnhMetaFileA" (ByVal hemfSrc As Long, ByVal lpszFile As String) As Long Private Declare Function DeleteEnhMetaFile Lib "gdi32" (ByVal hEmf As Long) As Long Sub clip2emf() Dim hSrcMetaFile As Long Dim hFileMetaFile As Long Dim myPresentation As Presentation Dim mySlide As Slide Dim i As Long Set myPresentation = ActivePresentation i = 1 For Each mySlide In myPresentation.Slides mySlide.Copy If OpenClipboard(0) Then hSrcMetaFile = GetClipboardData(CF_ENHMETAFILE) hSrcMetaFile = CopyEnhMetaFile(hSrcMetaFile, vbNullString) CloseClipboard End If If hSrcMetaFile = 0 Then MsgBox "emf取得に失敗" Exit Sub End If hFileMetaFile = CopyEnhMetaFile(hSrcMetaFile, "c:\test" & CStr(i) & ".emf") DeleteEnhMetaFile hFileMetaFile DeleteEnhMetaFile hSrcMetaFile i = i + 1 Next mySlide End Sub

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

#1です。 件のMicrosoftのページを改めて眺めていたら、ヒントが載っておりました。下記コードで、PowerPoint2000では動きました。Pixel数と相当するdpiの関係は、当該ページを参考にして下さい。 Sub test() Dim myPresentation As Presentation Dim mySlide As Slide Dim counter As Long counter = 1 Set myPresentation = ActivePresentation For Each mySlide In myPresentation.Slides mySlide.Export "c:\slide" & counter & ".jpg", "JPG", 3000, 2250 counter = counter + 1 Next mySlide End Sub

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

最後に、 APPLIES TO Microsoft PowerPoint 2010 とありますが、本文中には記述が見あたらないのですが... 当方試した訳でもなんでもありませんので、ご参考まで。 How to change the resolution of a slide that you export as a picture in PowerPoint http://support.microsoft.com/kb/827745/EN-US/

naiking
質問者

お礼

ありがとうございます。 確認したところ、PowerPoint 2003、2007のレジストリをいじるようです。 2010とは違うようなので、身を案じてこの方法はやめておきます。

関連するQ&A