質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

4607閲覧

1ページのみをPDFで保存したい

taka-hoop

総合スコア14

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/07/29 09:01

エクセル初心者で最近業務でVBAを使う事になった者です。

フォルダないにあるエクセルファイルを一括でPDF化したいと考え以下のコードに書きました。

VBA

1 2Sub EXCELファイルPDF化03() 'フォルダのEXCELファイルの一括変換 3 4 Dim Button, T, I, L As Integer 5 Dim OpenExcelFileName, ExcelFileName, ExcelFilePath, ExFileName As String 6 7 Application.DisplayAlerts = False '確認メッセージを無効化します。 8 9 10 Button = MsgBox("EXCEファイルの一括PDF変を行いますか?", vbYesNo + vbQuestion, "確認") 11 If Button = vbYes Then 12 13 OpenExcelFileName = Application.GetOpenFilename 'ダイアログを表示取り込むフォルダーにあるファイルを選択します。 14 15 If OpenExcelFileName <> "False" Then 16 ExcelFileName = Dir(OpenExcelFileName) '指定したファイルパスからファイル名を代入します。 17 ExcelFilePath = Replace(OpenExcelFileName, ExcelFileName, "") '指定したファイルパスを指定します。(ファイルパスからファイル名を取り除く) 18 19 MsgBox ExcelFilePath & "この選択フォルダからPDFに変換します。" 20 Else 21 MsgBox "キャンセルされました" 22 Exit Sub 'キャンセルでプログラムを終了します。 23 24 End If 25 26 ExFileName = Dir(ExcelFilePath & "*.xls?") '指定したフォルダーから一件目のEXCELファイルを指定します。 27 28 29 Do While ExFileName <> "" '読み込むファイルがなくなるまで繰り返す。 30 31 32 Workbooks.Open FileName:=ExcelFilePath & ExFileName, ReadOnly:=True, UpdateLinks:=0 'EXCELファイルを読み取り専用で読み込む 33 ExFileName = Left(ExFileName, InStr(ExFileName, ".") - 1) ' ファイル名から拡張子を取り除く(.xls?) 34 ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:=ExcelFilePath & ExFileName '選択したシートをPDF出力 35 36 ActiveWindow.Close '読み込んだファイルを閉じます。 37 38 ExFileName = Dir() '次のファイルを指定する。 39 40 Loop 41 42 MsgBox "PDFファイルに一括変換しました。" 43 Else 44 MsgBox "処理を中断します" 45 End If 46 47 Application.DisplayAlerts = True '確認メッセージを有効化します。 48 49End Sub 50 51コード

問題なく実行されPDF化されるのですがエクセルファイルのうち1のシートだけをPDF化したいと考えております。
検索してみて以下のコードを試してみましたがMacでの書き方ではないのかコンパイルエラーが出てしまいます。

VBA

1From:=1, To:=1, OpenAfterPublish:=True 2コード

エクセルファイルをページ指定してPDFファイルに変換する方法が知りたいです。
宜しくお願い致します。

OS:macOS Catalina バージョン10.15.3
Excelバージョン: Microsoft Excel for Mac バージョン16.39

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

windows10 Excel2019でVBAを検証してみました。windowsでもPDFが作成されました。
はじめの1ページのみということで、下記のように修正してみましたところうまくいきました。

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ExcelFilePath & ExFileName

ActiveWorkbook.Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, Filename:=ExcelFilePath & ExFileName

に修正して、windowsでは1ページのみのPDFとなりました。

投稿2020/07/29 13:19

編集2020/07/29 14:00
mako1972

総合スコア383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taka-hoop

2020/07/30 00:58

ご回答ありがとうございます! MacではWorksheets(1)等の記述を追記する事により任意のシートのみをPDF化することができました! 基礎的な部分みたいでしたが丁寧に回答頂きありがとうございました!
mako1972

2020/07/30 01:06

回答ありがとうございました。 勉強になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問