PowerPointの2つの異なるスライドをPDFファイルにエクスポートするにはどうすればよいですか?

dibledurf

私はVBAにかなり慣れておらず、問題があります。このサイトで、私はコードを見つけました、そしてそれはうまく働きます、それはpdfとして最後のスライドを印刷します。

Sub PDFtesti()
    
timestamp = Now()
Dim PR As PrintRange
Dim lngLast As Long
Dim lngFirst As Long
Dim savePath As String
Dim PrintPDF As Integer
Dim name As String

name = ActivePresentation.Slides(2).Shapes("TextBox1").OLEFormat.object.Text

savePath = "C:\Powerpoint\" & Format(timestamp, "yyyymmdd-hhnn") & " - " & name & ".pdf"

lngLast = ActivePresentation.Slides.Count

With ActivePresentation.PrintOptions
    .Ranges.ClearAll
Set PR = .Ranges.Add(lngLong, lngLong)
End With

ActivePresentation.ExportAsFixedFormat _
Path:=savePath, _
FixedFormatType:=ppFixedFormatTypePDF, _
PrintRange:=PR, _
Intent:=ppFixedFormatIntentScreen, _
FrameSlides:=msoTrue, _
RangeType:=ppPrintSlideRange 

End Sub

ただし、スライド番号2と最後のページの2つのスライドを印刷してもらいたいと思います。だから私は私が考えることができるほとんどすべてを試しました

Set PR = .Ranges.Add(lngLong, lngLong)
Set PR = .Ranges.Add(2, 2)

そして

Set PR = .Ranges.Add(Array("lngLong, lngLong" & "2,2")

しかし、それはうまくいきません。おそらく、VBAについて十分に理解していないからでしょう。そこにソリューションを追加するのはそれほど難しいことではないように感じますが、私はそれを見つけることができないようです。

ZygD

更新されたソリューション。特定のスライドの印刷をより快適にするために、それらを1つの変数(slidesToPrintに入れることにしましたこの変数に入れられていないすべてのスライドは、印刷の直前に非表示になります(したがって、印刷されません)。印刷後、非表示の順序は元に戻ります。したがって、印刷する必要のあるスライド、バストは次の行にリストされています。
slidesToPrint = Array(2, lngLast)

完全なコード:

Sub PDFtesti()

Dim timestamp As Date
Dim PR As PrintRanges
Dim lngLast As Long
Dim lngFirst As Long
Dim savePath As String
Dim PrintPDF As Integer
Dim name As String
Dim originalHides() As Long
Dim slidesToPrint() As Variant
Dim i As Variant

timestamp = Now()
With ActivePresentation
    name = .Slides(2).Shapes("TextBox1").OLEFormat.Object.Text
    savePath = "C:\Powerpoint\" & Format(timestamp, "yyyymmdd-hhnn") & " - " & name & ".pdf"
    lngLast = .Slides.Count
    .PrintOptions.Ranges.ClearAll
    
    ' Slides to print are put here (inside parentheses)
    slidesToPrint = Array(2, lngLast)
    
    ReDim originalHides(1 To lngLast)
    For i = 1 To lngLast
      originalHides(i) = .Slides(i).SlideShowTransition.Hidden
      .Slides(i).SlideShowTransition.Hidden = -1
    Next
    For Each i In slidesToPrint()
      .Slides(i).SlideShowTransition.Hidden = 0
    Next
    .ExportAsFixedFormat _
        Path:=savePath, _
        FixedFormatType:=ppFixedFormatTypePDF, _
        Intent:=ppFixedFormatIntentScreen, _
        FrameSlides:=msoTrue
    For i = 1 To lngLast
      .Slides(i).SlideShowTransition.Hidden = originalHides(i)
    Next
End With

End Sub

コードでは、を使用しますPR As PrintRangeただし、2番目と最後の2つのページが必要なため、2つの範囲が必要になります。これはタイプPrintRangeではなく、代わりにPrintRangesです。この場合、次のようにします。

.Ranges.Add(2, 2)
.Ranges.Add(lngLast, lngLast)

ただし、関数ExportAsFixedFormatはを受け入れるだけで、を受け入れないため、これは機能しPrintRangeませんPrintRanges1つのオプションは、最初にPrintRanges(1)ie (2、2)を使用し、次にPrintRanges(2)ie (lngLast、lngLast)を使用して両方のスライドを別々のファイルに印刷することです。しかし、これは本当にあなたが望むものではありません。

ソリューション。PR(1)を使用しますPRはタイプですがPrintRangesPR(1)はですPrintRange)。PR(1)最後の2つのスライドに対応する範囲です。秘訣は、印刷の直前に2番目のスライドをその位置lngLast - 1(最後の1つ前)に移動し、印刷後に正しい場所に戻すことです。

これにより、2番目のスライドが最後の位置の1つ前に移動し
.Slides(2).MoveTo lngLast - 1
ます。これにより、元の位置に戻ります。
.Slides(lngLast - 1).MoveTo 2

完全なコード:

Sub PDFtesti()

Dim timestamp As Date
Dim PR As PrintRanges
Dim lngLast As Long
Dim lngFirst As Long
Dim savePath As String
Dim PrintPDF As Integer
Dim name As String

timestamp = Now()
With ActivePresentation
    name = .Slides(2).Shapes("TextBox1").OLEFormat.Object.Text
    savePath = "C:\Powerpoint\" & Format(timestamp, "yyyymmdd-hhnn") & " - " & name & ".pdf"
    lngLast = .Slides.Count
    Set PR = .PrintOptions.Ranges
    PR.ClearAll
    PR.Add lngLast - 1, lngLast
    
    .Slides(2).MoveTo lngLast - 1
    .ExportAsFixedFormat _
        Path:=savePath, _
        FixedFormatType:=ppFixedFormatTypePDF, _
        PrintRange:=PR(1), _
        Intent:=ppFixedFormatIntentScreen, _
        FrameSlides:=msoTrue, _
        RangeType:=ppPrintSlideRange
    .Slides(lngLast - 1).MoveTo 2
End With

End Sub

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

1つのファイルを2つの異なるストリームに同時にリンクするにはどうすればよいですか?

分類Dev

2つの異なる構造を持つファイル2データセットにエクスポートするときに、欠落している値の空白を取り除くにはどうすればよいですか?

分類Dev

Robot Frameworkの同じPythonファイルから2つの異なるクラスのメソッドをインポートするにはどうすればよいですか?

分類Dev

PDFファイルのブックマークをインポート、エクスポート、編集するにはどうすればよいですか?

分類Dev

ファイヤーストアの2つのフィールド間でクエリを実行するにはどうすればよいですか?

分類Dev

クラス名とは異なるファイル名を持つクラスを自動ロードするにはどうすればよいですか?

分類Dev

2つの異なるコミットから同じファイルのソースを取得するにはどうすればよいですか?

分類Dev

TeamSQLのクエリSQLファイルをローカルファイルにエクスポートするにはどうすればよいですか?

分類Dev

PDFにエクスポートしてから、Googleスプレッドシートファイルの1つのタブのみをメールで送信するにはどうすればよいですか?

分類Dev

異なるエルブに接続されている2つのプライベートインスタンス間のネットワークフローを許可するにはどうすればよいですか?

分類Dev

2つの異なるファイルアイコンをインポートするにはどうすればよいですか?

分類Dev

2つのブロックを異なるフォントの高さでベースライン整列するにはどうすればよいですか?

分類Dev

1つのエンドポイントで異なるリクエストボディを使用するにはどうすればよいですか?

分類Dev

コンストラクターが異なる場合、継承を使用して2つの異なる動物をテキストファイルに追加するにはどうすればよいですか?

分類Dev

2 つの異なるフレームワークに対して 2 つの異なる DLL を出力し、各ビルドのいくつかのメソッド/クラスを無視するようにクラス ライブラリを構築するにはどうすればよいですか?

分類Dev

複数の画像と文字列を1つのファイルにエクスポートするにはどうすればよいですか?

分類Dev

このPowershellエクスポートをファイルにエクスポートするにはどうすればよいですか?

分類Dev

スイフト-この2つのエラーを修正するにはどうすればよいですか?

分類Dev

2つのグリッドビューを1つのMSExcelファイルの2つの別々のシートにエクスポートするにはどうすればよいですか?

分類Dev

行の順序を考慮せずに2つの異なるテキストファイルを比較するにはどうすればよいですか?

分類Dev

エクスポートcsvファイルRのfwrite()でエンコードを指定するにはどうすればよいですか?

分類Dev

リストボックスまたはdatagridviewをPDFファイルにエクスポートするにはどうすればよいですか?

分類Dev

ファイル内の単語から2つの異なるリストを作成するにはどうすればよいですか?

分類Dev

他のCSSファイル/クラスで要素をオーバーライドしないようにするにはどうすればよいですか?

分類Dev

PHPで日本語の文字コードを使用して.csvファイルをエクスポートするにはどうすればよいですか?

分類Dev

2つの異なるプロジェクトを同じSQLiteデータベースファイルにポイントするにはどうすればよいですか?

分類Dev

Typescript。1つのモジュールで2つのクラスを(別々のファイルで)エクスポートするにはどうすればよいですか?

分類Dev

SSHコマンドを使用して再帰的なディレクトリとファイルのリストをLinuxBashシェルのテキストファイルにエクスポートするにはどうすればよいですか?

分類Dev

別のフォルダにあるファイルからPythonクラスをインポートするにはどうすればよいですか?

Related 関連記事

  1. 1

    1つのファイルを2つの異なるストリームに同時にリンクするにはどうすればよいですか?

  2. 2

    2つの異なる構造を持つファイル2データセットにエクスポートするときに、欠落している値の空白を取り除くにはどうすればよいですか?

  3. 3

    Robot Frameworkの同じPythonファイルから2つの異なるクラスのメソッドをインポートするにはどうすればよいですか?

  4. 4

    PDFファイルのブックマークをインポート、エクスポート、編集するにはどうすればよいですか?

  5. 5

    ファイヤーストアの2つのフィールド間でクエリを実行するにはどうすればよいですか?

  6. 6

    クラス名とは異なるファイル名を持つクラスを自動ロードするにはどうすればよいですか?

  7. 7

    2つの異なるコミットから同じファイルのソースを取得するにはどうすればよいですか?

  8. 8

    TeamSQLのクエリSQLファイルをローカルファイルにエクスポートするにはどうすればよいですか?

  9. 9

    PDFにエクスポートしてから、Googleスプレッドシートファイルの1つのタブのみをメールで送信するにはどうすればよいですか?

  10. 10

    異なるエルブに接続されている2つのプライベートインスタンス間のネットワークフローを許可するにはどうすればよいですか?

  11. 11

    2つの異なるファイルアイコンをインポートするにはどうすればよいですか?

  12. 12

    2つのブロックを異なるフォントの高さでベースライン整列するにはどうすればよいですか?

  13. 13

    1つのエンドポイントで異なるリクエストボディを使用するにはどうすればよいですか?

  14. 14

    コンストラクターが異なる場合、継承を使用して2つの異なる動物をテキストファイルに追加するにはどうすればよいですか?

  15. 15

    2 つの異なるフレームワークに対して 2 つの異なる DLL を出力し、各ビルドのいくつかのメソッド/クラスを無視するようにクラス ライブラリを構築するにはどうすればよいですか?

  16. 16

    複数の画像と文字列を1つのファイルにエクスポートするにはどうすればよいですか?

  17. 17

    このPowershellエクスポートをファイルにエクスポートするにはどうすればよいですか?

  18. 18

    スイフト-この2つのエラーを修正するにはどうすればよいですか?

  19. 19

    2つのグリッドビューを1つのMSExcelファイルの2つの別々のシートにエクスポートするにはどうすればよいですか?

  20. 20

    行の順序を考慮せずに2つの異なるテキストファイルを比較するにはどうすればよいですか?

  21. 21

    エクスポートcsvファイルRのfwrite()でエンコードを指定するにはどうすればよいですか?

  22. 22

    リストボックスまたはdatagridviewをPDFファイルにエクスポートするにはどうすればよいですか?

  23. 23

    ファイル内の単語から2つの異なるリストを作成するにはどうすればよいですか?

  24. 24

    他のCSSファイル/クラスで要素をオーバーライドしないようにするにはどうすればよいですか?

  25. 25

    PHPで日本語の文字コードを使用して.csvファイルをエクスポートするにはどうすればよいですか?

  26. 26

    2つの異なるプロジェクトを同じSQLiteデータベースファイルにポイントするにはどうすればよいですか?

  27. 27

    Typescript。1つのモジュールで2つのクラスを(別々のファイルで)エクスポートするにはどうすればよいですか?

  28. 28

    SSHコマンドを使用して再帰的なディレクトリとファイルのリストをLinuxBashシェルのテキストファイルにエクスポートするにはどうすればよいですか?

  29. 29

    別のフォルダにあるファイルからPythonクラスをインポートするにはどうすればよいですか?

ホットタグ

アーカイブ