標題:
依列印份數自動產生流水號
[打印本頁]
作者:
sping
時間:
2010-7-9 09:12
標題:
依列印份數自動產生流水號
本帖最後由 sping 於 2010-7-9 14:43 編輯
因工作上需要,做了一個會自動依列印份數產生流水號的檔案,流水號可以順利產製,可是如果列印10份則也會產生10次的「列印訊息方塊」(因為有時會列印100份,也會產生100次「列印訊息方塊」),不曉得各位大大有解決的辦法嗎?
[attach]1772[/attach]
作者:
luhpro
時間:
2010-7-10 01:12
回復
1#
sping
抱歉, 有個地方看不懂 :
With ws
.
.
.
End With
中的 ws 不知道是代表什麼或是用在哪裡?
另上述部分程式建議若改成 :
With Sheets("申請書")
For skb = 1 To w5
.PrintOut
.Range("x24").Value = .Range("x24").Value + 1
Next skb
End With
可能會更簡潔一些.
因為剛下班到家目前手頭上沒有印表機可以模擬你所說的情形,
所以暫時只能先用猜測的.
你所說的 「列印訊息方塊」不知道是不是選擇印表機的訊息?
如果是的話可以在 expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName) 內的 ActivePrinter 參數上直接指定你要用的印表機名稱,
這樣就不會再出現訊息視窗問你要用哪一台印了.
但如果只是單純顯示正在列印資料的訊息,
而 "無需人工介入操作" 才會繼續列印下一張的話,
建議你還是直接無視該訊息吧,
畢竟就如同 Office 的各個成員一樣,
當你列印時同樣會出現「列印訊息方塊」,
這是Windows系統本身接收到列印要求時所產生的回應機制.
作者:
sping
時間:
2010-7-10 10:40
回復
2#
luhpro
我說的列印訊息方塊就是指「單純顯示正在列印資料的訊息」,就是你說的後者,我是想找看有沒有像類似『Application.DisplayAlerts = False 』 關閉警示訊息的語法,如果沒有這種語法,那只好無視訊息的存在,只是有時候列印50份資料,訊息就跑50次,比較討厭,但還是可以完成工作。
還有謝謝你幫我把程式碼改得更簡潔了。我在vba還算初學者,還需要多跟各位前輩學習學習。
作者:
mit1688
時間:
2010-12-22 12:02
我現在非常需要這項工具
可是 我卻不能下載
怎辦阿
作者:
Hsieh
時間:
2010-12-22 12:22
回復
3#
sping
只出現一次列印對話方塊
Sub 列印申請書()
Dim sh()
Application.DisplayAlerts = False
Sheets("申請書").Range("x24") = Sheets("輸入區").Range("b13")
w5 = Application.InputBox("列印申請書多少份? ", Type:=1)
If w5 < 1 Then
MsgBox "未輸入正確之列印份數,無法列印申請書"
Else
With ws
For skb = 1 To w5
Sheets("申請書").Range("x24").Value = Sheets("申請書").Range("x24").Value + 1
Sheet2.Copy after:=Sheets(Sheets.Count)
ReDim Preserve sh(s)
sh(s) = ActiveSheet.Name
s = s + 1
Next skb
End With
End If
Sheets(sh).PrintOut
Sheets(sh).Delete
Application.DisplayAlerts = True
End Sub
複製代碼
作者:
jangjw
時間:
2013-2-27 06:11
回復
1#
sping
工作上正好會用到~只是不能下載~~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)