一回も披露したことのない豆知識

現在下記マクロでpdfに保存しているのですが、マニュアルで保存するときに出る【最小サイズ】で保存するにはFileFormat:=ppSaveAsPDFをどのように変更したらいいでしょうか。
現状【通常サイズ】で保存となっています。

パワーポイントバージョン2013
windows10の環境となります。

よろしくお願いいたします。



Sub アクティブファイルをPDFで保存()

 Dim full_path As String
 Dim file_name As String

 With ActivePresentation

  full_path = .Path
  file_name = fileNameWithoutExtension(.Name)

  .SaveAs _
   fileName:=full_path & "\" & file_name & ".pdf", _
   FileFormat:=ppSaveAsPDF

 End With

End Sub


Function fileNameWithoutExtension(ByVal fileName As String) As String

 Dim pos_dot As Long

 ''拡張子を取り除くため「.」の位置を後から探す
 pos_dot = InStrRev(fileName, ".")
 ''拡張子を取り除いたファイル名を返す
 fileNameWithoutExtension = Left(fileName, pos_dot - 1)

End Function

質問者からの補足コメント

  • 訂正です
    Quality:=xlQualityStandard部分は
    Quality:=xlQualityMinimumの誤りでした。

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/01/12 23:35

A 回答 (2件)

何故、Quality:=xlQualityMinimumを指定しているの?


Excelマクロでの指定なら解るけど。
引数としてのQualityはないので、Intentの指定で印刷品質はなく
画面用として質を落としてファイルサイズを小さくします。
Excel, Word, PowerPointによるPDF出力の違いを確認してね。
http://cup.sakura.ne.jp/exl/pdf_out.htm#powerpoi …

訂正箇所
Quality:=xlQualityMinimum

Intent:=ppFixedFormatIntentScreen
にする。
    • good
    • 0
この回答へのお礼

ありがとうございます。勉強します。

お礼日時:2019/01/13 00:22

Presentation.SaveAs メソッドでのPDFファイルの指定はなく、


Presentation.ExportAsFixedFormat メソッドのほうを使えば、
PpFixedFormatIntentでppFixedFormatIntentScreen を指定する
ことができます。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。
下記で試したのですが名前付き引数が見つからないとのエラーがでてしまいます。
修正法ご教示いただけませんでしょうか?

Sub pdfに保存()

Dim full_path As String
Dim file_name As String

With ActivePresentation

full_path = .Path
file_name = fileNameWithoutExtension(.Name)

.ExportAsFixedFormat _
Path:=full_path & "\" & file_name & ".pdf", _
FixedFormatType:=ppFixedFormatTypePDF, Quality:=xlQualityStandard

End Sub

お礼日時:2019/01/12 23:33

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A