メインコンテンツへスキップ
 

ワークシートをPDFファイルとして保存し、Outlookから添付ファイルとして電子メールで送信するにはどうすればよいですか?

作者: シルヴィア 最終更新日:2020年06月18日

場合によっては、Outlookを介してワークシートをPDFファイルとして送信する必要があります。 通常、ワークシートを手動でPDFファイルとして保存してから、このPDFファイルをOutlookの添付ファイルとして新しい電子メールを作成し、最後に送信する必要があります。 手動で段階的に実行するには時間がかかります。 この記事では、ワークシートをPDFファイルとしてすばやく保存し、ExcelのOutlookを介して添付ファイルとして自動的に送信する方法を示します。

ワークシートをPDFファイルとして保存し、VBAコードの添付ファイルとして電子メールで送信します


ワークシートをPDFファイルとして保存し、VBAコードの添付ファイルとして電子メールで送信します

以下のVBAコードを実行して、アクティブなワークシートをPDFファイルとして自動的に保存し、Outlookを介して添付ファイルとして電子メールで送信できます。 次のようにしてください。

1. PDFとして保存して送信するワークシートを開き、を押します。 他の + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。

2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール。 次に、以下のVBAコードをコピーしてに貼り付けます Code 窓。 スクリーンショットを参照してください:

VBAコード:ワークシートをPDFファイルとして保存し、添付ファイルとして電子メールで送信します

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range

Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

If xFileDlg.Show = True Then
   xFolder = xFileDlg.SelectedItems(1)
Else
   MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
   Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"

'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
    xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
                      vbYesNo + vbQuestion, "File Exists")
    On Error Resume Next
    If xYesorNo = vbYes Then
        Kill xFolder
    Else
        MsgBox "if you don't overwrite the existing PDF, I can't continue." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
        Exit Sub
    End If
    If Err.Number <> 0 Then
        MsgBox "Unable to delete existing file.  Please make sure the file is not open or write protected." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
        Exit Sub
    End If
End If

Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
    'Save as PDF file 
    xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
    
    'Create Outlook email 
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = ""
        .CC = ""
        .Subject = xSht.Name + ".pdf"
        .Attachments.Add xFolder
        If DisplayEmail = False Then
            '.Send
        End If
    End With
Else
  MsgBox "The active worksheet cannot be blank"
  Exit Sub
End If
End Sub

3。 プレス F5 コードを実行するためのキー。 の中に ブラウズ ダイアログボックスで、このPDFファイルを保存するフォルダを選択し、[ OK

ノート:

1.これで、アクティブなワークシートがPDFファイルとして保存されます。 また、PDFファイルにはワークシート名が付けられています。
2.アクティブなワークシートが空白の場合、クリックすると次のスクリーンショットのようなダイアログボックスが表示されます。 OK

4.これで、新しいOutlook電子メールが作成され、PDFファイルが添付ファイルに添付ファイルとしてリストされていることがわかります。 スクリーンショットを参照してください:

5.このメールを作成して、送信してください。
6.このコードは、メールプログラムとしてOutlookを使用している場合にのみ使用できます。

XNUMXつまたは複数のワークシートを個別のPDFファイルとして一度に簡単に保存できます。

この 分割ワークブック の有用性 Kutools for Excel 以下のデモに示すように、XNUMXつまたは複数のワークシートを別々のPDFファイルとして一度に簡単に保存するのに役立ちます。 今すぐダウンロードして試してください! (30日間の無料トレイル)


関連記事:

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

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...


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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!