Word を使用しない Excel での差し込み印刷 (2 つの適切な方法)
差し込み印刷の方法を探しています エクセルで 単語なし ?次に、これはあなたにぴったりの場所です。 Microsoft Word の場合 何らかの理由で利用できません。差し込み印刷を実行しています トリッキーになります。ただし、 Word であるため、不可能ではありません。 差し込み印刷の実行に必須ではありません オペレーション。この記事では、 2 を紹介します。 VBA マクロ 差し込み印刷 エクセル 単語なし .
差し込み印刷
誰かまたは会社が、名前、受信者のメール アドレス、または受信者のアドレスなどを少し変更して大量のメールを送信したい場合。次に、関係者は、ニーズを満たすためにテンプレートと編集可能なフィールドを作成できます。この種のテンプレートは差し込み印刷として知られています .
これにより、時間を大幅に節約できます。 Word を介してこのタスクを実行するのが一般的です プロセッサ (Microsoft Word など) 、Google ドキュメント、 等。)。 WordStar この機能は、80 年代の初期に初めて導入されました .その後、他の人がこの非常に便利な機能を採用しました.
通常、5 に従う必要があります。 差し込み印刷の主な手順 操作:
- まず、元のドキュメント .
- 第二に、データ ソース .
- 3 番目に、フィールド 入力する
- その後、マージ 元のドキュメントで .
- 最後に、保存 または 送信 メール .
Word を使用せずに Excel で差し込み印刷を行う 2 つの便利な方法
Microsoft Word として は最も目立つ 単語 です 私たちのほとんどは Word を連想します。 「差し込み印刷」というテキストが聞こえたとき 」。ただし、 Microsoft Excel のみを使用して、別の方法で行います。 差し込み印刷を実行する .そのため、この記事を読んで詳細を確認してください。
さらに、2 つのデータセットを使用してマクロのデモを行います。 、最初のデータセットには次の列があります:「名前」 」、「メール 住所 」、「都市 」、「ストリート 住所 」。後者のデータセットは、この記事の 2 番目の方法で確認します。さらに、プライバシー上の理由から、3 で構成されています 私たちのデータセットのメール アドレスと、最後の 1 つはこの記事のライターのものです。これを使用して、問題なくメールを送信できることを確認します。
1. Excel でメールを自動的に送信する差し込み印刷
最初の方法では、ワークシート 名前は「VBA1」です 」。 VBA を挿入します 2 つの Sub プロシージャを含むコード 単一の モジュール を使用する 差し込み印刷 エクセル 単語なし .次に、このコードを実行すると、事前定義されたテンプレートを使用して、リストされた顧客に電子メールが自動的に送信されます。すべてを行う前に、モジュールを起動する方法を紹介しましょう。 ウィンドウに VBA を入力します コード。
手順:
- まず、開発者から タブ>>> Visual Basic を選択 .
- または、ALT + F11 を押すこともできます VBA を表示するには ウィンドウ .
- 次に、挿入 から >>> モジュールを選択 .
- これで モジュール が表示されます VBA を入力するウィンドウ コード。
- 次に、モジュール 内に次のコードを入力します。 ウィンドウ。
Option Explicit
Sub Mail_Merge_Only_Excel()
Dim xSheet As Worksheet
Dim mAddress As String, mSubject As String, eName As String, _
eLocation As String, eCity As String
Dim eRow As Long, x As Long
Set xSheet = ThisWorkbook.Sheets("VBA1") 'WorkSheet Name
With xSheet
eRow = .Cells(.Rows.Count, 5).End(xlUp).Row
For x = 5 To eRow 'Specific Row to Row to Last Row
mAddress = .Cells(x, 3)
mSubject = "Thank You for Your Loyalty"
eName = .Cells(x, 2)
eCity = .Cells(x, 4)
eLocation = .Cells(x, 5)
Call Mail_Merge_Only_Excel_Send_Mail(mAddress, mSubject, _
eName, eLocation, eCity)
Next x
End With
End Sub
Sub Mail_Merge_Only_Excel_Send_Mail(mAddress As String, mSubject As String, _
eName As String, eLocation As String, eCity As String)
Dim pApp As Object
Dim pMail As Object
Set pApp = CreateObject("Outlook.Application")
Set pMail = pApp.CreateItem(0)
With pMail
.To = mAddress
.CC = ""
.BCC = ""
.Subject = mSubject
.Body = "Mr./Mrs. " & eName & vbNewLine & eCity & vbNewLine & eLocation & _
vbNewLine & vbNewLine & "Hello! " _
& "You are one of the most precious customers to us for the last quarter. " _
& "As a token of appreciation, we are sending you 20$ coupon code for your " _
& "next purchase at ExcelDemy. " _
& "Use the coupon code 'ExcelDemy20' to avail of this discount." _
& vbNewLine & "From," & vbNewLine & "ExcelDemy Team"
.Send
End With
Set pMail = Nothing
Set pApp = Nothing
End Sub
VBA コードの内訳
- まず、最初の Sub プロシージャ を呼び出します 「Mail_Merge_Only_Excel
- 次に、変数の型を宣言し、「VBA1」を設定しています。 」をワークシートとして .
- 次に、最後の行番号が見つかります。さらに、値は行 5 から始まります 、したがって、行 5 を配置しました コードの最後の行まで。
- 次に、2 番目の Sub プロシージャ を呼び出します 「Mail_Merge_Only_Excel_Send_Mail
- その後、Outlook を選択します メール アプリケーションとして .
- 次に、メールの内容がコードに設定されます。さらに、 vbNewLine を使用します メール本文に空行を挿入する
- その後、「.送信 」は、ここでメールを送信するために使用されます。したがって、送信 を押す必要はありません。 手動でメールを送信します。さらに、「.Display」を使用できます 」をクリックして、メールを送信せずに表示します。
- その後、保存 モジュール .
- 次に、最初の Sub プロシージャ 内にカーソルを置きます 実行を押します .
- Outlook にログオンしていない場合は、 メール アプリを起動すると、ログイン資格情報の入力を求められます。すでにログインしているため、メールは追加の手順なしで送信されます。
- 最後に、このスナップショットは差し込み印刷を示しています 意図したとおりに動作し、Excel を使用して動作します 単語なし .
続きを読む:Excel から Outlook に差し込み印刷する方法 (簡単な手順)
2. Word を使用しない Excel の選択範囲からの差し込み印刷
最後の方法では、データセットを少し変更しました。 「名前」で構成される 3 つの列があります。 」、「メール 住所 」、「テキスト 」。別の VBA を使用します 差し込み印刷を実行するコード エクセル それだけ。今回は、InputBox メソッドを使用します。 送信するメールアドレスとテキストを選択します。さらに、差し込み印刷を表示するだけです オペレーション Outlook アプリケーション ボタンをクリックして手動で送信します。当社のメール本文は、すべてのお客様で同じです。早速、手順に進みましょう。
手順:
- まず、最初の方法で示したように 、モジュールを呼び出します ウィンドウにこのコードを入力してください。
Public Sub Mail_Merge_Without_Word_Input_Box()
'Declare the variables
Dim XRcptsEmail As Range
Dim xMailContent As Range
Dim xRngDn As Range
Dim xCrtOut As Object
Dim xValSendRng As String
Dim k As Long
Dim xMailSections As Object
Dim xFinalRw As Long
Dim CrVbLf As String
Dim xMsg As String
On Error Resume Next
'Insert a input box for selecting the recipients
Set XRcptsEmail = Application.InputBox("Choose the column for the email" _
& "addresses of the recipients:", "ExcelDemy", , , , , , 8)
If XRcptsEmail Is Nothing Then Exit Sub
'To enter the text mail, insert a input box
Set xMailContent = Application.InputBox("In your email," _
& "choose the column with the text:", "ExcelDemy", , , , , , 8)
If xMailContent Is Nothing Then Exit Sub
'Count rows for the recipient email
xFinalRw = XRcptsEmail.Rows.Count
Set XRcptsEmail = XRcptsEmail(1)
Set xMailContent = xMailContent(1)
'Set command to open MS Outlook Application
Set xCrtOut = CreateObject("Outlook.Application")
'Apply For loop to conduct the operation in each row one by one
For k = 1 To xFinalRw
xValSendRng = Cells(XRcptsEmail.Offset(k - 1).Row, _
XRcptsEmail.Offset(k - 1).Column - 1)
'Create the subject, body and text contents with the required variables
CrVbLf = "<br><br>"
xMsg = "<HTML><BODY>"
xMsg = xMsg & "Dear " & xValSendRng & CrVbLf
xMsg = xMsg & "" & xMailContent.Value & CrVbLf
xMsg = xMsg & "</BODY></HTML>"
'Create the email
Set xMailSections = xCrtOut.CreateItem(0)
'Define the position to place the Subject, Body and Recipients Address
With xMailSections
.Subject = "Congratulations!!!"
xValSendRng = Cells(XRcptsEmail.Offset(k - 1).Row, _
XRcptsEmail.Offset(k - 1).Column)
.To = xValSendRng
.HTMLBody = xMsg
.Display
End With
Set xMailSections = Nothing
Next
Set xCrtOut = Nothing
End Sub
VBA コードの内訳
- まず、Sub プロシージャを呼び出します Mail_Merge_Without_Word_Input_Box .
- 次に、変数の型を宣言しています。
- その後、2 つの InputBox を使用します メールアドレスとメール本文の内容を取得するため。
- 次に、行番号を数えます。
- 次に、For Next ループ を使用します VBA Offset を使用してすべての行を順番に調べます プロパティ 1 から顧客名を抽出します 列は左です。
- 最後に、Display メソッドを使用します メールをプレビューします。または、Send メソッドを使用することもできます メールも送信してください。
- その後、保存 モジュール .
- 次に、最初の Sub プロシージャ 内にカーソルを置きます 実行を押します .
- コードが実行され、メール アドレスとメールの内容を選択するよう求められます。
- 次に、セル範囲 C5:C8 を選択します メールアドレスとしてOKを押します .
- その後、セル D5 にあるメール コンテンツを選択します OK を押します .
- その後、4 と表示されます Outlook アプリケーションのウィンドウ .
- 最後に、[送信] をクリックします。 このメールを転送します。
- これが成功した 差し込み印刷 です この VBA を使用した出力 コードは次のようになります。
続きを読む:Excel から Outlook に添付ファイル付きで差し込み印刷する方法 (2 つの例)
練習セクション
Excel に各メソッドの実践データセットを追加しました ファイル。したがって、私たちの方法に簡単に従うことができます。
結論
2 を表示しました VBA マクロ 差し込み印刷 エクセル 単語なし .これらの方法に関して問題が発生した場合、または私にフィードバックがある場合は、お気軽に以下にコメントしてください。さらに、私たちのサイト ExcelDemy にアクセスできます その他の Excel 関連 記事。読んでくれてありがとう。これからも頑張ってください!
関連記事
- Excel から差し込み文書を作成するマクロ
- Excel 差し込み印刷で日付形式を変更する方法 (クイック手順付き)
- Excel ファイルを宛名ラベルにマージする方法 (簡単な手順)
- Excel から Word 封筒への差し込み印刷 (2 つの簡単な方法)
- Excel から Word に写真を差し込み印刷する方法 (2 つの簡単な方法)
-
Excel で XML を列に変換する方法 (4 つの適切な方法)
このチュートリアルでは、 4 を紹介します。 XML を変換する適切な方法 Excelの列に。大規模なデータセットでもこれらの方法を使用して、 XML からデータ セルを見つけることができます。 データ値。このチュートリアルでは、Excel 関連のタスクで非常に役立ついくつかの重要な Excel ツールとテクニックについても学習します。 ここから練習用ワークブックをダウンロードできます。 Excel で XML を列に変換する 4 つの適切な方法 比較的簡潔な XML 手順を明確に説明するためのデータセット。データセットには約 7 あります 行と 2 列。最初は、すべてのセルを
-
Excel で CSV ファイルをマージする方法 (2 つの簡単な方法)
CSV ファイルはコンマ区切り値ファイルで、表形式のデータを保存するために使用できます。 メモ帳などのテキスト エディタで開くことができます 、または Microsoft Excel などのスプレッドシート プログラムで . CSV ファイルは、異なるソフトウェア アプリケーション間でデータを共有するためによく使用されます。複数の CSV ファイルをマージすることで、それらのコンパイルを行うことができます。この記事では、Excel で CSV ファイルをマージする方法について、2 つの簡単な方法を説明します。 . Excel で CSV ファイルを結合するためのシンプルで簡単でありながら効