EXCEL 自動化 列印喜帖信封 列印信封 如何列印喜帖信封

https://www.youtube.com/watch?v=HCFb7uuVS8k

http://aney22.pixnet.net/blog/post/45694645
EXCEL 合併列印 套板列印進階教學 step by step 用點陣印表

http://aney22.pixnet.net/blog/post/45709522
EXCEL 合併列印二、範例、華南銀行存款憑條

http://aney22.pixnet.net/blog/post/47885190
EXCEL 自動化 列印喜帖 列印信封

http://aney22.pixnet.net/blog/post/47880666
EXCEL 自動化 大宗郵件存根2聯單 交寄大宗限時掛號及掛號函件

http://aney22.pixnet.net/blog/post/48324846
EXCEL 合併列印 套表列印 郵局貼紙寄件單

 

人一生沒幾次機會可以印喜帖,

導致網路上盡是用教人用 WORD 合併列印 列印喜帖信封的大爛招。

本人20年次第一次列印喜帖也用這樣的大爛招,

因為從沒在看過有其它列印方法。

現在我教大家如何用 excel 印信封。

 


幾年前我又有機會列印喜帖信封,

我拿日常用的 excel 程式來修改。

拾荒老人因為工作經常列印信封,一個月要印個幾百個

手寫字太醜太慢、WORD 合併列印 太難用,

因此我開發了自己使用的 EXCEL 套表列印 程式。

我稍稍修改一下,套表列印的信封格式,

一下就能套用在喜帖信封上了。

並加上『郵遞區號』自動查詢的功能,

許多收信人的地址並不是經常使用,所以跟本沒郵遞區號,

一個一個手動查,太累人了,

加上廠商客戶的郵遞區號我也從沒校正過,

所以我就設法一次校正所有地址的郵遞區號。。

多年之後,我將檔案再翻出來分享。

完美的 EXCEL 套表列印 喜帖信封 的程式。

 


一、這是個簡單的程式,內部只有三個巨集程式。

一個是套表列印,

一個是將橫寫的地址 轉 直寫的地址。

最後一個則是檔案快速存檔的巨集

只要用點心,絕對沒想像中的困難。

啟動 excel 後 alt+F11 就能啟動vba巨集編輯

選擇要列印的資料,按下 Ctrl+b 會執行PrintPage . 內容如下.

 

StrToVertical 是一個將橫寫的地址、改成『直寫』地址的公式,

如果你的地址是橫寫的,則可以略過這個公式。

 

Ctrl+Shist+s 則會 執行 saveasdatetime 將檔案以時間命名存下來。


Option Explicit
Sub PrintPage()
        '**********************************************
        '在Sheets("名單")中滑鼠選擇要印列的請款單 ,執行此程式
        '**********************************************
        Dim E As Range
        Dim ii As Integer
        
        
        Sheets("名冊").Activate
                For Each E In Selection.EntireRow
                
                        If E.Row > 1 And (E.Range("a1") = 1) Then
                                
                                E.Range("a1") = "OK"
       
                                With Sheets("信封")
                                        .PageSetup.PrintArea = "A1:M12"                 '印列範圍
                                        .[B2] = E.Range("b1")                           '客戶編號
                                        .[A3] = E.Range("H1")                           '流水號
                                        .[D4] = E.Range("c1")                           '客戶名稱
                                        .[J5] = StrToVertical(Replace(E.Range("d1").Value, "-", "之"))     '發票地址
                                        .[I9] = E.Range("E1")                           '電話1
                                        .[H3] = E.Range("M1")                           '郵遞區號5-3
                                        .[L3] = E.Range("N1")                           '郵遞區號5-2
                                End With
 
                                If E.Range("G1") <> "" Then
                                        Sheets("信封").[D11] = E.Range("G1")
                                Else
                                        Sheets("信封").[D11] = "啟"
                                End If
                                
                                Sheets("信封").PrintOut                                       '印列
                        End If
                
                Next
 
End Sub
 
Function StrToVertical(s As String) As String
        If s <> "0" Then
        With CreateObject("vbscript.regexp")
                .Global = True
                .Pattern = "(\d+|[^\d])"
                StrToVertical = .Replace(s, "$1" & vbLf)
        End With
        End If
        
End Function
 
 
Sub saveasdatetime()
        Dim filename As String
        filename = "喜宴信封_" & Format(Now, "YYYYMMDD_HHMMSS_")          'save as 喜宴信封_20131115_100754.xls
        Application.Dialogs(xlDialogSaveAs).Show (filename)
 
End Sub

二、名單頁,可以做為回函整理之用。

很多喜宴都有做回函,統計出席人數之用。

傳統的方式很難做最後統計。

一箭雙鵰,整理名單,順便列印、統計。

有七個欄位可以填寫 收件人 地址 電話 郵遞區號 編號 流水號 敬語 。

 

"郵遞區號5-3"    "郵遞區號5-2" 是從『郵遞區號』用公式拆解出的。

填寫正確的五碼郵遞區號,可以減少郵差先生的負擔。

編號、流水號可以用來分類客戶類別,ex:同學、鄰居、業務、廠商、親戚等等。

敬語可以讓你寫上不同敬語,寄給公司和親朋好友的敬語不一樣。

沒填寫敬語,預設會列印『啟』,如果有填寫,

則會列印你的設定,EX:『全家福』『鈞啟』。

 

三、自動查詢郵遞區號:原本我有完成網路自動查詢產生器。

但後來想想,一但直接公佈這些方法,天上掉下來的禮物,使用者並不會愛惜。

一次幾百行的查詢,只會對對方的server造成困擾,所以我就將這個部份拿掉了。

手動查詢請參考:http://aney22.pixnet.net/blog/post/46841794

想要自動查詢,郵局有提供一個十分難用的程式,

或參考 http://aney22.pixnet.net/blog/post/46841794

文中我有提及相關資訊,真的需要,請自己DIY+Google。


四、關於紙張設定:

目前的印表機的進紙方式,大概分類,進紙方向和定位方向。

前方進紙、後方進紙,單邊定位、雙邊定位,二乘二等於四種可能的組合。

不建議前方進紙,因為紙張需要轉360度從前方再出來,

容易卡紙。機器你是的,沒人能阻止你。

要印信封,最好是後方進紙。後方進紙會有兩種『紙張定位』的機構:

單邊定位和雙邊定位。如下圖

會造成機器判定『紙張的大小』及『紙張邊界的起點』的不同。

平常使用A4的影印紙,兩種定位方式都不會有問題,

因為機器本來就會針對『標準用紙』做過完善的測試。

但是我們用的信封、喜帖卻沒有『標準尺寸』,完全是憑廠商喜好在生產

差異整理如下:

使用A4大小,不同定位的機器,就要移動列印區。

單邊定位的機器,要移到偏下、靠右。(紅框部則就是我當時的信封大小)

 

雙邊定位的機器,要移到偏下、置中。(紅框部則就是我當時的信封大小)

 

使用自定大小,則不會受印表機定位方式的影響。但是需要自行新增自定的紙張大小。


以我提供的檔案為例,你可以在Excel ->版面設定->紙張大小看到是A4,

並不是自己定義的紙張。所以你下載後就能使用

但是,需要

版面設定->邊界,需要依印表機的定位方式修改,

信封的『列印區』需要依信封大小來修改。

 

如果你的機器是雙邊定位的(調整後,信封會置於機器中間),

需要讓版面設定->邊界的『左、右邊界』一樣大,讓列印的範圍偏下、置中。

如果你的機器是單邊定位的(調整後,信封會置靠右對齊),

需要讓版面設定->邊界的『左邊界』設到最大,『右邊界』歸零,讓列印的範圍偏下、靠右。

 

如果因為列印信封,封口部份會卡住進紙機構,所以需要封口朝上,從信封的底部進紙,

造成列印時,需要設定『旋轉 180度』需要設定『旋轉 180度』需要設定『旋轉 180度』

設定旋轉180度下,就會變成下圖這樣的輸出

讓印表機反過來列印,會造成我們在設定紙張的列印範圍時,

會貼齊下綠,而不是貼齊上綠。

無法理解?自己列印幾次就會了解了~~

目前我使用的機器都是單邊定位的機器,

所以邊界的設定都是偏右下角。

 


我怎麼做的?

一、拿到信封後,因為信封數量有限,不可能無上限的測試,

所以我會先將信封,複印到一般A4紙上,就會知道那些地方是不能列印的區域

測試時要多少樣品就有多少樣品。

 

二、量測信封大小,並畫出格線,這樣就能知道你準備列印的區域,

及EXCEL上需要多少欄、列。將格子的尺寸量測出來。

 

三、在EXCEL 上『設計』出你要列印的表格,並測試列印,調整邊界、修改尺寸,

經過一番測試,我很有套很列印的經驗了,印個幾次就能搞定。

 

四、確定列印的表格後,調整巨集中的 PrintPage ,調整對應的表格位置後,就能完美的列印。

五、拿正式的信封來試印,試印OK後,剩下的就是收集、連絡收件人資料。

 

六、拿的列印時,我又發現,帖子的信封吸水性比較差

所以印出來的墨都不會乾,下一張再出來,兩張疊在一起,字就糊誕。

對策:將信封的字型,修改顏色,改成 灰-80% 或 灰-50%。就能改善。

 


如何套表列印、公式的說明,可參考:

第一章,EXCEL 合併列印 套板列印進階教學 step by step 用點陣印表機,打印手寫統一發票

第二章,EXCEL 合併列印二、範例、華南銀行存款憑條

第三章:EXCEL 自動化 大宗郵件存根2聯單 交寄大宗限時掛號及掛號函件執據存根2聯單

第四章:EXCEL 自動化 列印喜帖 列印信封

第0章:查詢郵遞區號 3+2碼速查


下載範列:Excel列印信封、喜帖信封(Google driver)pw:aney22

(請點Google Drive 上方的下載,直接下載,不要來和我要什麼存取權)

 

 

 

 

 

 

 

文章標籤

創作者介紹
創作者 aney22 的頭像
aney22

小松鼠及拾荒老人的家

aney22 發表在 痞客邦 留言(2) 人氣()