Mac って何?それって美味しいの?

マイコンと呼ばれた時代から現在まで、使用記から何から何でも。

【Airペイ】A4プリンタでクレジットカード利用票を自動印刷

2019/7/18 Update

関連記事はこちら。

【Airペイ】【楽天ペイ】A4プリンタでクレジットカード利用票を自動印刷 - Mac って何?それって美味しいの?

 

IMG_3187_.jpg

Airペイのクレジットカード利用票(ご利用控え)を非レシートプリンタで

自動印刷するようにしたのでメモとして残す。

 

ApplePay対応のiPhoneは持っていない

が、ApplePayしたい

で、Airペイ申し込んだ。

 

審査も1か月半くらいで通り、

端末が代引きで送られてきた。

テストでクレジットカード決済してみる。

 

楽しい。

 

でも、レシートプリンタがないと

クレジットカード利用票(ご利用控え)は印刷できず

メールでカード利用者に送る対応になる。

 

これはスマートじゃない。

 

Airペイのキャンペーンプリンタは2万円ちょっと。

これは結構安いほうだが、

インクジェットのA4複合機だって1万以下で買える時代だし

遊びで導入なのでお金はかけたくない。

クレジットや交通系カード決済頻度も低い、ほぼ無い。

レシートプリンタをヤフオクで漁るが数万円。

 

じゃあ、普通のA4プリンタで、レシート印刷をしよう。

 

=== 概要 ===

・普通のA4プリンタで印刷

・利用控えはA6用紙で作成

・利用控えメールを送信したら自動印刷

 

=== 流れ ===

1)Airペイでクレジットカード決済

2)ご利用控えをレシート印刷用に用意したメールアドレスに送信

3)PCのメールソフトOutlookでリアルタイム受信

4)Outlookで仕分けルールを使い自動印刷

 

=== 説明 ===

1)と2)は問題ない。

3)はリアルタイム受信にするためIMAPで。

Outlookショートカットをスタートアップに入れ、PC起動時最小化で常駐させる。

起動時のメールフォルダも指定しておくとIMAPでリアルタイムにチェックできた。

(違うメールフォルダになってるとリアルタイムに見ない?かも)

4)OutlookVBAでメールを印刷するマクロを作成。

仕分けルールに「スクリプトを実行する」を選べるようにレジストリ追加する。

マクロ実行のためにデジタル証明書を作成したり。

Wordテンプレートで用紙やフォントなどちょうどいい感じに定義しておく。

メール本文の、必要な部分のみ印刷。(連続した"="を目印に)

 

=== VBA ===

Public Sub PrintMailBody(ByRef Item As Outlook.MailItem)

Dim ExtText As String

Dim StaText As String

Dim EndText As String

Dim StaPos As Integer

Dim EndPos As Integer

StaText = String(5, "=")

EndText = String(20, "=")

StaPos = InStr(Item.Body, StaText)

EndPos = InStr(Item.Body, EndText)

ExtText = Mid(Item.Body, StaPos, EndPos - StaPos)

Const wdDoNotSaveChanges = 0

With CreateObject("Word.Application")

.Visible = False

With .Documents.Add("C:\Users\xxxxx\Documents\Office のカスタム テンプレート\クレジットカードご利用票.dot")

.Content.InsertAfter Text:=ExtText

.PrintOut False

.Close wdDoNotSaveChanges

End With

.Quit wdDoNotSaveChanges

End With

End Sub

=== VBA終わり ===

 

 

さいごに

OutlookVBA使えるなんて知らなかった

が、こんなことでもなきゃ使わない。

現Officeでは機能隠しちゃっているし。

ネットで調べてなんとか実現した。

参考にさせていただいた方々に感謝です。