Note: The other languages of the website are Google-translated. Back to English

コマンドボタンを使用してアクティブなワークシートをExcelでPDFファイルとして保存するにはどうすればよいですか?

Microsoft Excelで作業しているときに、アクティブなワークシートをPDFファイルとして保存する際に問題が発生する場合があります。 この記事では、コマンドボタンを使用してアクティブなワークシートをVBAコード付きのPDFファイルとして保存する方法を学習できます。 また、アクティブなワークブックの範囲または各ワークシートを個別のPDFファイルとして保存する場合も、この記事が役立ちます。

コマンドボタンを使用して、アクティブなワークシートをVBAコード付きのPDFファイルとして保存します
Kutools for Excelを使用して、アクティブなワークシートまたは各ワークシートを個別のPDFファイルとして簡単に保存できます


コマンドボタンを使用して、アクティブなワークシートをVBAコード付きのPDFファイルとして保存します

コマンドボタンをクリックすると、次のVBAコードを実行して、アクティブなワークシートをPDFファイルとして保存できます。 次のようにしてください。

1.まず、変換した新しいPDFファイルを保存するためのPDFという名前のフォルダーを作成する必要があります。 ここで、このフォルダをローカルディスク(C :)に作成します。

2.をクリックしてコマンドボタンを挿入してください ディベロッパー > インセット > コマンドボタン(ActiveXコントロール)。 スクリーンショットを参照してください:

2.次に、新しい行を追加する必要があるワークシートにコマンドボタンを描画し、コマンドボタンを右クリックして、 プロパティ 右クリックメニューから。

3。 の中に プロパティ ダイアログボックスで、表示されたコマンドボタンのテキストを キャプション 下のボックス 分類された タブをクリックし、ダイアログボックスを閉じます。

以下のスクリーンショットのように、コマンドボタンの表示テキストが変更されていることがわかります。

4.コマンドボタンをもう一度右クリックして、[ コードを表示 右クリックメニューから。

5.オープニングで アプリケーション向け Microsoft Visual Basic ウィンドウの場合、コードウィンドウの元のコードを次のVBAコードに置き換えてください。

VBAコード:アクティブなワークシートをPDFとして保存するコマンドボタン

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\PDF\Export.pdf", _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub

注意:コードでは、CommandButton1は、アクティブシートをPDFファイルとして保存するために使用するコマンドボタン名です。 「C:\ PDF \ Export.pdf」は、保存するPDFファイルのパスと名前です。

6。 プレス 他の + Q キーを同時に閉じて アプリケーション向け Microsoft Visual Basic 窓。 次に、をオフにします デザインモードディベロッパー タブでを確認できます。

ここで、コマンドボタンをクリックすると、アクティブなワークシートがExportという名前のPDFファイルとして保存され、指定された場所に配置されます。


Kutools for Excelを使用して、各ワークシートをアクティブなワークブックの個別のPDFファイルとして保存します

ここでお勧めします 分割ワークブック の有用性 Kutools for Excel アクティブなワークシートをPDFファイルとして簡単に保存します。 さらに、このユーティリティを使用して、現在のワークブックの各ワークシートを個別のPDFファイルとして保存することもできます。

申請する前に Kutools for Excelについては 最初にダウンロードしてインストールします.

1.ブックで、各ワークシートを個別のPDFファイルとして保存する必要があります。次に、 クツールズプラス > ワークブック > 分割ワークブック。 スクリーンショットを参照してください:

2。 の中に 分割ワークブック ダイアログボックスで、次のように構成してください。

2.1)でアクティブなシート名のみを確認してください ワークシート名 ボックス;
2.2)選択 PDF(* .pdf) オプションから タイプとして保存 ドロップダウンリスト;
2.3)をクリックします スプリット ボタン、次に フォルダを選択してください ダイアログがポップアップし、PDFファイルを保存するフォルダを指定します。

次に、選択したワークシートがすぐにPDFファイルとして保存されます。

免責事項:

1. [ワークシート名]ボックスで複数のワークシート名をチェックして、それらを個別のpdfファイルとして一度に保存できます。
2.ワークシートをPDFファイルとして保存する場合を除いて、ワークシートをtxtとして保存できます。 またはcsv。 必要に応じてファイルします。

  無料トライアルをご希望の方は(30-day) このユーティリティの クリックしてダウンロードしてください、次に、上記の手順に従って操作を適用します。


デモ:Kutools for Excelを使用して、選択範囲または各ワークシートをPDFとして保存します


関連記事:


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (33)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは。「Export.pdf」ではなく、ユーザーがファイル名を入力できるようにするにはどうすればよいですか。 ありがとう、イアン
このコメントは、サイトのモデレーターによって最小化されました
サブSaveAsPDF()
Application.Screenの更新=False
ActiveSheet.ExportAsFixedFormat Type:= xlTypePDF、_
Filename:= Application.InputBox( "ファイル名を入力")

strExcelPath = "H:\ My Documents"

Application.ScreenUpdating = True
End Subの
このコメントは、サイトのモデレーターによって最小化されました
同様のリクエストがあります。ファイルにタブの特定のセルと同じ名前を付けたい、IE:G19(これは請求書番号であり、ファイルをその名前でPDFとして保存したい)? 。 export.pdfを機能させることができましたが、これは複数の保存では機能しません。
このコメントは、サイトのモデレーターによって最小化されました
グッド·デイ、
次のVBAコードは、問題の解決に役立ちます。 コードを実行した後、ポップアップするKutoosforExcelダイアログボックスでセルG19を選択してください。 コメントありがとうございます。

プライベートサブCommandButton1_Click()
範囲としての薄暗いxRg
Dim xName As String
エラーで次の再開
Application.ScreenUpdating = False
Set xRg = Application.InputBox( "PDFにセル値で名前を付けるセルを選択してください:"、 "Kutools for Excel"、Selection.Address 、、、、、、 8)
xRgが何もない場合は、Subを終了します
xName = xRg(1).Value
ActiveSheet.ExportAsFixedFormat Type:= xlTypePDF、_
Filename:= "C:\ PDF \"&xName& "。pdf"、_
OpenAfterPublish:= False
Application.ScreenUpdating = True
End Subの
このコメントは、サイトのモデレーターによって最小化されました
パスをDドライブに変更しましたが、Dドライブに保存されていません。 何をすべきか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちはAkshayMN、
上記のDドライブへのパスを変更した場合は、DドライブにPDFという名前のフォルダーがあることを確認してください。
サブフォルダを作成せずにファイルをDドライブに保存するだけの場合は、次のフォルダパスを使用してください。 "C:\"&xName&"。pdf"
このコメントは、サイトのモデレーターによって最小化されました
コマンドボタンを使用してファイルをPDFに変換できるようになりましたが、同じ関数を使用して、ファイルごとに異なる名前を付けることもできます。 既存の数の構造に基づいていますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちはランディ、
申し訳ありませんが、これについてはお役に立てません。フォーラムに質問を投稿してください。 https://www.extendoffice.com/forum.html 私たちの専門家からより多くのExcelサポートを取得します。
このコメントは、サイトのモデレーターによって最小化されました
ITSHOWSランタイムエラー「1004」
このコメントは、サイトのモデレーターによって最小化されました
こんにちはNzee、
Excelのバージョンを知る必要があります。 コメントありがとうございます。
このコメントは、サイトのモデレーターによって最小化されました
マイクロソフトエクセルのPDFボタンとして保存するためのplz貼り付けコーディング
このコメントは、サイトのモデレーターによって最小化されました
MS Wordでこれを行うにはどうすればよいですか? 答えとしてラジオボタンオプションを使用した質問がたくさんあります。 そこで、選択した回答を含む質問を別の単語文書にのみ出力するコマンドボタンを作成したいと思います。 どうすればよいですか? コードは本当に役に立ちます! 必要に応じて、ドキュメントをメールで送信します。 ありがとう!
このコメントは、サイトのモデレーターによって最小化されました
良い一日、
申し訳ありませんが、まだそれを助けることはできません。
このコメントは、サイトのモデレーターによって最小化されました
サブZapiszPDF()
文字列として薄暗いsNazwaPliku

snazwapliku = activeSheet.name

Application.Dialogs(xlDialogSaveAs).Show sNazwaPliku、57

End Subの
このコメントは、サイトのモデレーターによって最小化されました
iveはコードに従いました、これは私が持っているものです:

プライベートサブCommandButton2_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:= xlTypePDF、_
ファイル名:= Range( "P2")、_
OpenAfterPublish:= True
Application.ScreenUpdating = True
End Subの

元のファイルがある場所に保存するファイルが必要です。 同じ名前で保存するには、Excelファイルのコピーも必要です。
このコメントは、サイトのモデレーターによって最小化されました
こんにちはマットベントレー、
コードは完全に機能します。 共有してくれてありがとう。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、

カン・ジェマンド・ミール・ヘルフェン?

Ich nutze diese Zeilen und möchte jedoch, das aus dem Blatte ein Zellenwert als Dateiname gespeichert wird:

プライベートサブCommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:= xlTypePDF、_
ファイル名:="C:\PDF\Export.pdf", _
OpenAfterPublish:= False
Application.ScreenUpdating = True
End Subの

ありがとう
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、

ICH NUTZE DIESE ZEILENUNDMöChteDaseine Zelle als dateiname Verwenden Wird!
Kann Mir Jemand Ein Tipp Geben?


プライベートサブCommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:= xlTypePDF、_
ファイル名:="c:/" & G3 & ".pdf", _
OpenAfterPublish:= False
Application.ScreenUpdating = True
End Subの
このコメントは、サイトのモデレーターによって最小化されました
こんにちはサーシャ、
次のコードが役に立ちます。 コードを適用する前に、' を変更してくださいc:\ users \ win10x64test \ documents \ pdf' を XNUMX 行目で自分の宛先フォルダー パスに変更します。
Private Sub CommandButton1_Click()
'Updated by Extendoffice 20220929
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\Users\Win10x64Test\Documents\PDF\" & Range("G3").Value, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub
このコメントは、サイトのモデレーターによって最小化されました
Что это за кнопка - "другой" + Q клавиши одновременно" ? Не поняла что нажимать, подскажите, пожалуйста
このコメントは、サイトのモデレーターによって最小化されました
こんにちは。
キーボードの「Alt」キーです。 Microsoft Excel では、ユーザーは "Alt" + "Q" キーを押して Microsoft Visual Basic for Applications ウィンドウを閉じ、ワークシートに戻ることができます。
このコメントは、サイトのモデレーターによって最小化されました
ゲーデダグ

これは、コマンド ノップ オム エン アクティフ ワークブラッド オペ テ スラーン アルスの PDF ファイルと Met VBA コードを作成するための優れたブレードの映画です。
kom er niet helemaal uit met de code.
ありがとうalvast
このコメントは、サイトのモデレーターによって最小化されました
こんにちはマックス、
すみません、意味がわかりません。 実行しようとしているもののスクリーンショットを添付する必要がある場合があります。 ご不便おかけしてすみません。
このコメントは、サイトのモデレーターによって最小化されました
こんにちはチーム、

作成したファイルの保存先を任意のユーザーのデスクトップに変更するのを手伝ってくれる人がいるかどうか疑問に思っていますか? 私の会社は C: へのアクセスを許可していないため、スクリプトは機能しません。

たくさんありがとう!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ベン・ストッダートです。
デスクトップ上の任意のフォルダーを開き、アドレス ボックスにフォルダー パスをコピーしてから、VBA コードのフォルダー パスをコピーしたパスに置き換えるだけです。
これが新しいファイル名の行です (ユーザー名を自分のユーザー名に置き換えてください)。 エクスポート.pdf は、PDF ファイルの名前とファイル拡張子です。
ファイル名:="C:\Users\Username\Desktop\PDF\Export.pdf", _
このコメントは、サイトのモデレーターによって最小化されました
これを実行するたびに、Excel シートが保存されているローカル ドライブに PDF が保存されます。自動保存を停止するにはどうすればよいですか?

プライベートサブCommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:= xlTypePDF、_
OpenAfterPublish:= True
Application.ScreenUpdating = True
End Subの
このコメントは、サイトのモデレーターによって最小化されました
以下を実行すると、PDF のローカル バージョンが自動的に作成されます。これを自動的に保存しないようにするにはどうすればよいですか?

プライベートサブCommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:= xlTypePDF、_
OpenAfterPublish:= True
Application.ScreenUpdating = True
End Subの
このコメントは、サイトのモデレーターによって最小化されました
こんにちはジェームズ、
PDF ファイルを手動で保存するフォルダを選択するためのウィンドウをポップアップ表示しますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、Crystal さん、理想的には「はい」です。そうすれば、PDF を保存する場所を選択できます。
このコメントは、サイトのモデレーターによって最小化されました
H・ジェームス

次の VBA コードは、問題の解決に役立ちます。
注意: 宛先とファイル名を同時に処理することはできません。 次の VBA コードを追加した後、ボタンをクリックすると、宛先フォルダーを選択するためのダイアログ ボックスがポップアップ表示されます。 宛先フォルダーを選択すると、PDF ファイルに名前を付けるためのボックスがポップアップ表示されます。

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20221223
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    Dim xStrName As String
    If xDlg.Show <> -1 Then Exit Sub
    
    xFolder = xDlg.SelectedItems(1)
    
    xStart = InputBox("file name", "KuTools for Excel", ActiveSheet.Name & ".pdf")

    Application.ScreenUpdating = False

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=xFolder & "\" & xStart, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True

End Sub
このコメントは、サイトのモデレーターによって最小化されました
Ich nutze diese Zeilen und das funktioniert auch bow, mein Problem ist nur, sollte diese Datei bereits vorhanden sein, wird diese einfach überschrieben!
Wie kann ich das vermeiden, es sollte eine Meldung kommen, Datei existiert bereits und es soll bedet werden?
このコメントは、サイトのモデレーターによって最小化されました
Ich nutze diese Zeilen und das funktioniert auch bow, mein Problem ist nur, sollte diese Datei bereits vorhanden sein, WIRD diese einfach überschrieben!
Wie kann ich das vermeiden, es sollte eine Meldung kommen, Datei existiert bereits und es soll bedet werden?


プライベートサブCommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:= xlTypePDF、_
ファイル名:="X:\firmen\Buchhaltung\Rechnungs-Kopie_Ackermann Service GmbH\2022\RK-Abrechnung\" & ActiveSheet.Range("G1") & ".pdf", _
OpenAfterPublish:= True
Application.ScreenUpdating = True
End Subの
このコメントは、サイトのモデレーターによって最小化されました
こんにちはサーシャ、
次の VBA コードが役に立ちます。 ぜひお試しください。

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20221230
    Dim xPDFName As String
    Dim xPDFPath As String
    Dim xObjFS As Object
    Dim xNum As Integer
    Dim xStr As String
    
    xPDFName = "Export" 'The file name
    xPDFPath = "D:\work\Jan\test\" 'The file path
    Application.ScreenUpdating = True
    On Error Resume Next
    Set xObjFS = CreateObject("Scripting.FileSystemObject")
    xStr = xPDFPath & xPDFName & ".pdf"
    xNum = 1
    If xObjFS.FileExists(xStr) Then
    xResponse = MsgBox("The file already exists, do you want to overwrite it?", vbYesNo, "www.extendoffice.com", "", 0)
       If xResponse <> vbYes Then
       Exit Sub
      End If
    End If
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            FileName:=xStr, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護