返回列表 上一主題 發帖

[發問] 關於預覽列印或直接列印

[發問] 關於預覽列印或直接列印

預覽列印.rar (24.86 KB)

目前進度:勾選預覽列印後,會自動選取最後一個工作表以外的工作表
進入預覽列印,份數2
但是這部分無法實現,搜尋了沒有結果
只搜尋到直接列印,但是不知道如何下指令,請問是否有前輩知道,謝謝!

本帖最後由 av8d 於 2023-11-4 23:28 編輯

回復 18# Andy2483

已另外發問,並持續在尋找答案中,
前輩精益求精的學習方式,讓我從中受益無窮,由衷感謝您的分享!

112/11/4 23:27 已解答(代碼如下)
  1. Application.Windows.Arrange ArrangeStyle:=xlArrangeStyleTiled
複製代碼

TOP

本帖最後由 Andy2483 於 2023-11-5 05:00 編輯

回復 17# av8d
後學練習的方案是同一個活頁簿 不同工作表的並排顯示,後學也想學這方面的知識
並排顯示的需求與此主題不同
建議前輩另開新話題請教前輩們
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

本帖最後由 av8d 於 2023-11-4 16:01 編輯

回復 16# Andy2483

前輩您好,我剛好有用到,單純使用下,不知道錯在哪裡,還請前輩提示,謝謝

垂直並排顯示.rar (16.33 KB)

開啟活頁簿1時,會自動開啟活頁簿2,並將兩個活頁簿垂直並排顯示。
但是垂直並排顯示並沒有成功。(預計希望活頁簿1在左邊,活頁簿2在右邊)

TOP

謝謝論壇,謝謝各位前輩
後學藉此帖練習將範例應用於並排顯示,練習方案如下:
20231103_1.zip (26.09 KB)

按鈕跳出自訂表單:
20231103-1.jpg
2023-11-3 16:08


按並排:
20231103-2.jpg
2023-11-3 16:08
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

本帖最後由 av8d 於 2023-10-30 21:04 編輯

回復 14# Andy2483


    謝謝前輩的用心,這註解我受用無窮,讓我的知識領域更進一步(絕對不止一步),
    這些超級詳細的註解,讓原本懵懵懂懂的我,更為精進許多,由衷感謝!
    前輩的雪中送炭真的是非常感謝。

TOP

本帖最後由 Andy2483 於 2023-11-3 09:46 編輯

回復 9# 准提部林


    謝謝前輩指導,後學學習結果與心得註解如下,請前輩再指導

按鈕跳出自訂表單:
20231030-1.jpg
2023-10-30 10:32


全部選取:
20231030-2.jpg
2023-10-30 10:32


預覽:
20231030-3.jpg
2023-10-30 10:33



表單模組:
Dim SN$, SR
'↑宣告變數:SN是模組字串變數,SR是通用型變數
Private Sub CheckBox1_Click()
Dim i%
'↑宣告i是短整數變數
For i = 0 To ListBox1.ListCount - 1
'↑設順迴圈!i從0 到清單數量-1
    ListBox1.Selected(i) = CheckBox1.Value
    '↑令清單選取清單i索引號項目
Next i
End Sub

'預覽
Private Sub CommandButton1_Click()
Call 選取工作表群組: If SN = "" Then Exit Sub
'↑令執行副程式 選取工作表群組
'↑如果SN變數是空字元!就結束程序執行

UserForm1.Hide
'↑令表單隱藏
Sheets(SR).PrintPreview
'↑令SR陣列(工作表名) 執行預覽,集中在同一個預覽功能做分頁預覽,
'以滑鼠滾動(或按下一頁)查閱,以ESC鍵(或按關閉預覽)結束預覽

UserForm1.Show 0
End Sub

'列印
Private Sub CommandButton2_Click()
Dim A, PG%
'↑宣告A是通用型變數,PG是短整數變數
Call 選取工作表群組: If SN = "" Then Exit Sub
'↑令執行副程式 選取工作表群組
'↑如果SN變數是空字元!就結束程序執行

PG = Val(TextBox1)
'↑令PG這短整數變數是 輸入窗輸入文字轉化的數值
If PG = 0 Then MsgBox "請輸入列印份數!  ": Exit Sub
'↑如果PG變數是0!就跳出提視窗 "請輸入列印份數!  "
For Each A In SR
'↑設逐項迴圈!令A變數是 SR陣列裡的一陣列值
    Sheets(A & "").PrintOut Copies:=PG
    '↑令工作表(A變數轉化為文字的工作表名)列印 PG變數 份數
Next
Unload Me
End Sub

Sub 選取工作表群組()
Dim i%
'↑宣告i是短整數變數
SN = "": SR = ""
'↑令SN這模組字串變數是 空字元,令SR這模組通用變數是 空字元
For i = 0 To ListBox1.ListCount - 1
'↑設順迴圈!i從0 到清單數量-1
    If ListBox1.Selected(i) = True Then SN = SN & "/" & ListBox1.List(i)
    '↑如果清單的i索引號項被選取!就令SN變數連接 "/" 再連接該被選取項目,
    '成為新字串

Next i
If SN = "" Then MsgBox "尚未選取項目!  ": Exit Sub
'↑如果SN變數是 空字元!就跳出提示窗 "尚未選取項目!  ",結束程序執行
SR = Split(Mid(SN, 2), "/")
'↑令以"/"字元分割(SN變數取第2字開始的右方字串),
'令SR這模組變裝盛一維陣列

End Sub


一般模組:
Sub 列印表單()
Dim xS As Worksheet, S$
'↑宣告xS變數是工作表變數,S變數是字串變數
For Each xS In Sheets
'↑設逐項迴圈!令xS變數是本活頁簿的一工作表
   If xS.Name <> "系統檔" Then S = S & "/" & xS.Name
   '↑如果xS變數(工作表)名不是 "系統檔"字串!
   '就令S變數是 自身連接"/",再連接 xS變數(工作表)名的組合新字串

Next
With UserForm1
'↑以下是關於 自訂表單(名:UserForm1)的程序
   .StartUpPosition = 0
   '↑令表單顯示初始位置是 未指定初始設定
   https://learn.microsoft.com/zh-t ... upposition-property
   .Top = Application.Top + 100
   '↑令表單顯示位置下移
   https://learn.microsoft.com/zh-t ... cel.application.top
   .Left = Application.Left + Application.Width - .Width - 20
   '↑令表單顯示位置再右移
   https://learn.microsoft.com/zh-t ... el.application.left
   https://learn.microsoft.com/zh-t ... l.application.width
   With .ListBox1
   '↑以下是關於清單的程序
        .Clear
        '↑令清除
        .List = Split(Mid(S, 2), "/")
        '↑令以陣列值(以"/"字元分割(S變數取第2字開始的右方字串))帶入清單中
        .MultiSelect = fmMultiSelectMulti
        '↑令清單複選
   End With
   .Show 0
   '↑令顯示清單 (不鎖定)
   .CheckBox1 = False
   '↑令核取方塊是 為非選取狀態
   .TextBox1.SetFocus
   '↑令游標置於輸入窗中
   .TextBox1 = 1
   '↑令輸入窗中顯示 1
End With
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

本帖最後由 av8d 於 2023-10-29 17:23 編輯

回復 12# 准提部林


    原來如此,受益良多,萬分感謝~所以使用""是為了準確列印以工作表名稱的頁面,
    准大的寫法算是對於不擅長陣列的我很能看懂,陣列可以簡短撰寫的長度,這是我不足必須去進修的。

TOP

回復 11# av8d


A 無法指定"型態" , 加 & "", 即變成"文字型態", 與 cstr(A) 相同,
工作表"名稱"須強制為文本, 否則無法正確運行, 雖然 split 出來的本身就是文字型態, 但還是謹慎!!!

sheets(1),  sheets("1"), 是不同意思~~

TOP

回復 9# 准提部林


研究了一下,有個地方想請教准大,
For Each A In SR
    Sheets(A & "").PrintOut Copies:=PG
Next

這段的""的意思,感謝准大抽空解題,我也會在網上持續找答案的。

TOP

        靜思自在 : 願要大、志要堅、氣要柔、心要細。
返回列表 上一主題