Excel通過VBA列印信封

來源:互聯網
上載者:User
Excel通過VBA列印信封:
 

 

Sub printSheet()        Dim no1 As Integer        Sheets("信封模板").Select '進入列印頁面        no1 = 2        'no2 = InputBox("請輸入列印內容行數:", "對話方塊", 1)        'If no2 = "" Then '如果在對話方塊中選擇了取消按鈕,則終止宏!           'Exit Sub       ' End If                Do While no1 <= 65535         Dim isPrint As String                  isPrint = Sheets("來源資料").Range("m" + Trim(Str(no1 + 1))).Value                 If isPrint <> "已列印" Then  '判斷此行是否已列印過列印過則跳過                   Sheets("信封模板").Range("a1:f1").Value = Sheets("來源資料").Range("a" + Trim(Str(no1 + 1)) + ":" + "f" + Trim(Str(no1 + 1))).Value        '更新郵遞區號           Sheets("信封模板").Range("f3").Value = Sheets("來源資料").Range("g" + Trim(Str(no1 + 1))).Value             '更新收件者地址           Sheets("信封模板").Range("g4").Value = Sheets("來源資料").Range("h" + Trim(Str(no1 + 1))).Value             '更新收件者名稱           Sheets("信封模板").Range("g5").Value = Sheets("來源資料").Range("i" + Trim(Str(no1 + 1))).Value             '更新收件者車牌號           Sheets("信封模板").Range("h6").Value = Sheets("來源資料").Range("j" + Trim(Str(no1 + 1))).Value             '更新寄件人名稱           Sheets("信封模板").Range("h7").Value = Sheets("來源資料").Range("k" + Trim(Str(no1 + 1))).Value             '更新寄件人地址           Sheets("信封模板").Range("h8").Value = Sheets("來源資料").Range("l" + Trim(Str(no1 + 1))).Value             '更新寄件人郵編                      Sheets("來源資料").Select '進入來源資料頁面           Sheets("來源資料").Range("m" + Trim(Str(no1 + 1))).Value = "已列印" '標記來源資料是否已列印                     ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True            '列印輸出

          MsgBox "當前行已列印完成,請核對是否正確!下面將跳轉到來源資料頁面", 48, "暫停提示"          Exit Sub        Else '如果所有行都已標記為列印則不列印任何資料                        If Trim(Sheets("來源資料").Range("h" + Trim(Str(no1 + 1))).Value) = "" Then           '根據收件者名稱判斷                           MsgBox "未列印任何行,因為所有資料都已標記為已列印!"               Exit Sub '這裡必須退出否則將一直迴圈66535次                           End If                    End If          no1 = no1 + 1        Loop    End Sub                   '批量列印    Sub batchPrintSheet()       Dim no1 As Integer        Sheets("信封模板").Select '進入列印頁面        no1 = 1        no2 = InputBox("請輸入列印內容行數:", "對話方塊", 1)                      If no2 = "" Then '如果在對話方塊中選擇了取消按鈕,則終止宏!           Exit Sub        End If                       Do While no1 <= no2           Sheets("信封模板").Range("a1:f1").Value = Sheets("批量列印來源資料").Range("a" + Trim(Str(no1 + 1)) + ":" + "f" + Trim(Str(no1 + 1))).Value             '更新郵遞區號           Sheets("信封模板").Range("f3").Value = Sheets("批量列印來源資料").Range("g" + Trim(Str(no1 + 1))).Value              '更新收件者地址           Sheets("信封模板").Range("g4").Value = Sheets("批量列印來源資料").Range("h" + Trim(Str(no1 + 1))).Value              '更新收件者名稱           Sheets("信封模板").Range("g5").Value = Sheets("批量列印來源資料").Range("i" + Trim(Str(no1 + 1))).Value              '更新收件者車牌號           Sheets("信封模板").Range("h6").Value = Sheets("批量列印來源資料").Range("j" + Trim(Str(no1 + 1))).Value               '更新寄件人名稱           Sheets("信封模板").Range("h7").Value = Sheets("批量列印來源資料").Range("k" + Trim(Str(no1 + 1))).Value                '更新寄件人地址           Sheets("信封模板").Range("h8").Value = Sheets("批量列印來源資料").Range("l" + Trim(Str(no1 + 1))).Value                '更新寄件人郵編           'ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True            '列印輸出           Sheets("批量列印來源資料").Range("m" + Trim(Str(no1 + 1))).Value = "已列印" '標記來源資料是否已列印           MsgBox "第" & no1 & "行已經列印", 48, "暫停提示"           no1 = no1 + 1               Loop       End Sub

Private Sub CommandButton1_Click()

Call batchPrintSheetSheets("來源資料").Select '進入來源資料頁面End Sub

Private Sub 開始列印_Click()   Call printSheet     End Sub

 

信封的樣式:  如下樣式的excel檔案,我在最上現放置了兩個按鈕。通過vba指令碼列印出信封的樣式。

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.