標題:
請問用VBA執行WORD合併列印及其應用
[打印本頁]
作者:
iceandy6150
時間:
2013-4-18 16:35
標題:
請問用VBA執行WORD合併列印及其應用
請問各位前輩
我想在Excel中放一個按鈕,按下後會開啟指定的word檔,並將Excel中的資料套印到word(合併列印),該怎麼寫呢?
比如說,excel中有兩個欄位,一是學號,一個是姓名,總數有10個學生
word中,姓名的後面要插入合併欄位《姓名》,學號亦同,套印後會有10張
直接開word操作合併列印是沒問題,但是要用按鈕我就不會了
<進階應用>
word是學生評語卡,有1~12格,每月一格,要輸入1評語
excel中我放入400筆名言佳句(編號、佳句)
設一按鈕,一個textbox(手動輸入放第幾格),另一個textbox(要印幾份)
比如現在4月,要印38份,佳句要放第4格,按下按鈕後會隨機從excel的400筆中抽取38筆
後執行合併列印到word上,(套印到第4格,共有38份)
這要如何達成呢?
<更進階應用>
word是學生基本資料卡,有學號、姓名、住址、電話
access中存有上述各種學生資料,共200個學生
excel中設一按鈕,一個textbox(輸入想印哪一位學生的學號)
按下按鈕後會依textbox的學號去access資料表中撈資料,並合併列印到word中相對應的欄位
看了一些文但還是搞不好,也不懂,只好發問求助
如果進階題太難的話,就請各位前輩幫忙先解答第一題就好
感謝感謝
ps:如果按下按鈕後,合併完直接列印,好像有print的指令
但如果我有兩台印表機,可以利用指令去指定我這次要用A印表機去印
或是要指定B印表機去印嗎? 謝謝
作者:
linyancheng
時間:
2020-4-1 13:13
本帖最後由 linyancheng 於 2020-4-1 14:24 編輯
回復
1#
iceandy6150
在Excel中:
Shell "rundll32.exe url.dll,FileProtocolHandler " & ThisWorkbook.Path & "\○○○○○.doc", 1 '「○○○○○.doc」改成Word檔名。假設Word檔在同一資料夾中。
在Word中:
早期版本是相對路徑,Office 2007以後是絕對路徑。
為避免麻煩,可在完成編輯Word主文件後,將其還原為標準的Word文件,然後在ThisDocument中加入以下代碼:
Private Sub Document_Open()
On Error Resume Next
With ThisDocument.MailMerge
.MainDocumentType = wdCatalog '主文件型式設為型錄(目錄),也可設為信封wdEnvelopes、信件wdFormLetters或標籤wdMailingLabels。
.OpenDataSource Name:=ThisDocument.Path & "\○○○○○.xls" '「○○○○○.xls」改成資料來源檔名。假設來源檔在同一資料夾中。
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute True
End With
'ThisDocument.Close wdDoNotSaveChanges
End Sub
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)