genious
2002-08-11, 01:27 PM
請問一下合併列印要怎麼樣弄啊,我想學一下說,謝謝。
贊助商連結
贊助商連結
贊助商連結 頁 :
1
[2]
genious 2002-08-11, 01:27 PM 請問一下合併列印要怎麼樣弄啊,我想學一下說,謝謝。 贊助商連結 無聊 2002-08-12, 02:11 AM 最初由 genious 發表 請問一下合併列印要怎麼樣弄啊,我想學一下說,謝謝。 所謂合併列印,大部分是以一個相同的內容向另一個特定資料庫(如WORD,EXCEL,ACCESS等)要所謂不一樣的文字部分拿來列印,以減少重複鍵入的工作及時間. 例如: 用於寄廣告信時,它的內容除了姓名以外,可以說是一模一樣! 先建一個檔來放客戶姓名資料〔表格型式-最好在最上列要有對應的欄位名稱〕->存檔 再打一封廣告信當底稿,要求工具合併列印來源指向〔客戶姓名資料〕檔位置,會多出〔合併列印工具列〕,此時對〔姓名部分〕插入〔所對應的欄位名稱〕,再決定要存檔或列印或另生文件等方式完成. 因為它的操作有些煩瑣,只能儘量省略,請自行學習,如有問題我會儘量幫忙! genious 2002-08-12, 01:44 PM 學到了一招,謝謝你的分享我去試試 nad123 2002-08-12, 03:43 PM 最初由 無聊 發表 . . 先建一個檔來放客戶姓名資料〔表格型式-最好在最上列要有對應的欄位名稱〕->存檔 . . 因為它的操作有些煩瑣,只能儘量省略,請自行學習,如有問題我會儘量幫忙! 看不懂! 請問以word 來建立客戶姓名資料嗎?怎麼建立?謝謝! 無聊 2002-08-17, 04:04 AM 最初由 nad123 發表 看不懂! 請問以word 來建立客戶姓名資料嗎?怎麼建立?謝謝! 以一個連續的表格方式來建立客戶姓名資料 最上面的一列(作為標題列),最好是上面都有個別輸入單項的名稱(如:姓名,年齡,住址等等),以對應合併文件!〔PS:不過前後位置並不須要與合併文件對應〕 在下面即可輸入以每列為一個單位〔客戶資料〕來輸入 nad123 2002-08-18, 02:35 PM 最初由 無聊 發表 以一個連續的表格方式來建立客戶姓名資料 最上面的一列(作為標題列),最好是上面都有個別... 有空在試試,謝謝了。 leonchou 2002-09-27, 03:11 AM jshj0314: ...每聯左上角有一個編號,我打好存檔的時候是001。現在我要印100張出來,我要如何不用『改一次編號,印一次』的方法去處理那個編號,只要下一次列印指令,讓它印出來時照順序(001∼100)排好呢? 假設編號 001 是內文的最開始三個字. Sub 印100張() Set myRange = ActiveDocument.Range(0, 3) For p = 100 To 1 Step -1 myRange.Text = Format(p, "000") ActiveDocument.PrintOut Background:=True Next p End Sub [註] 1.For p = 100 To 1 Step -1 是讓編號從100開始倒回去印, 這樣最後印完就會照順序 (001~100) 排好. 2.理論上這個程式是可以達到你的需求, 但連續送出100個 列印的Job給印表機, 和一般列印100份可不相同.. 到時候執行起來PC或Printer會不會掛掉就不敢保証了 :D Komi 2002-09-27, 08:25 AM 配合FinePrint這個軟體試印的結果, (先丟給FinePrint,再丟到實體印表機) 結果一切正常,沒啥「大」問題。 Leon↑↑這個方法的確很好用。 但建議在左上角先行打上「000」以策安全。 另外,由於該巨集執行的速度快過於「文件傳給印表機的速度」; 而Word預設好像有啟動「幕後列印」;恰巧Leon又設 Background:=True 這麼一來在Word進行列印時,能借用到使用額外的系統記憶體,來進行其 他的事(包含讓該巨集繼續執行迴圈的下一次);連帶使印表機佇列的列印 工作變成「後進先出」的情況下; 在巨集中的迴圈跑了一陣子之後,第一張文件才要印出來的時候; 很可能印出來的文件編號順序反倒變成↓ 089、090、091~100→001、002、003.....088 請留心! 建議改成↓,可以避開順序錯置的問題,而又能讓Word在列印空檔去做其它的事; (不含讓該巨集繼續執行迴圈的下一次;但卻有空檔可以讓我們反悔去按Ctrl+Break)。 但若印表機列印速度特慢或印表機本身記憶體很少的時候(),建議將下面的Delay 5 改成Delay 10。 Sub 印100張() Set myRange = ActiveDocument.Range(0, 3) For p = 100 To 1 Step -1 myRange.Text = Format(p, "000") ActiveDocument.PrintOut Background:=False '(1) 改為False Delay 5 '(2) 加這一行跟下面的Function Next p End Sub Sub Delay(DelayTime As Single) Dim ST As Single ST = Timer Do Until (Timer - ST > DelayTime) DoEvents Loop End Sub leonchou 2002-09-27, 02:17 PM 高人指點, 感謝~~ 我這應該就叫"拋磚引玉"吧.. ^^ |
|