本篇文章給大家分享的是有關(guān)VBA代碼Imposition是啥意思,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
十余年的監(jiān)利網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整監(jiān)利建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“監(jiān)利網(wǎng)站設(shè)計(jì)”,“監(jiān)利網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
ImpositionTool.bas
Attribute VB_Name = "ImpositionTool"
' 折手(Imposition)
' 在考慮版式和印后加工的前提下,將多個單獨(dú)的頁面安排到一個印張上(將文字、圖形和圖像安排到一個頁面內(nèi),稱為頁面排版)。
'打印全部
Sub printAll()
Dim l_pages_count As Long, tmp_s As String
l_pages_count = Selection.Information(wdNumberOfPagesInDocument)
If l_pages_count Mod 4 > 0 Then Call setPageTo4Times
tmp_s = getPageSequance(1, l_pages_count)
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:=tmp_s, _
PageType:=wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, _
Background:=False, PrintToFile:=False, PrintZoomColumn:=2, PrintZoomRow:=1 _
, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
End Sub
'調(diào)整頁碼為4的倍數(shù)
'
Sub setPageTo4Times()
Dim l_current_page As Long
Dim l_current_page2 As Long
Dim l_pages_count As Long
Dim l_tmp As Long
l_current_page = Selection.Information(wdActiveEndPageNumber)
l_pages_count = Selection.Information(wdNumberOfPagesInDocument)
l_tmp = l_pages_count Mod 4
If l_tmp >= 0 Then
Selection.EndKey Unit:=wdStory
l_current_page2 = Selection.Information(wdActiveEndPageNumber)
For i = 1 To 4 - l_tmp
Selection.InsertBreak Type:=wdPageBreak
Next
ActiveDocument.ActiveWindow.PageScroll Up:=(l_current_page2 - l_current_page) '+ 4 - l_tmp
End If
End Sub
' 返回折手頁碼順序
' 一頁紙正反2面各打印2頁,共4頁
' 0 表示此處需要打印空白頁
Function getPageSequance(i_from As Long, i_to As Long) As String
Dim l_page_count As Long
Dim l_paper_count As Long
Dim l_p As Long, l_tmp As Long
If i_to >= i_from And i_from > 0 Then
getPageSequance = ""
l_page_count = i_to - i_from + 1
l_paper_count = CLng(l_page_count / 4)
If l_paper_count * 4 < l_page_count Then
l_paper_count = l_paper_count + 1
End If
getPageSequance = ""
For l_p = 1 To l_paper_count
l_tmp = 2 * l_p - 1
If l_tmp <= l_page_count Then
getPageSequance = getPageSequance & "," & CStr(l_tmp - 1 + i_from)
Else
getPageSequance = getPageSequance & ",0"
End If
l_tmp = 2 * (2 * l_paper_count + 1 - l_p)
If l_tmp <= l_page_count Then
getPageSequance = getPageSequance & "," & CStr(l_tmp - 1 + i_from)
Else
getPageSequance = getPageSequance & ",0"
End If
l_tmp = 2 * l_p
If l_tmp <= l_page_count Then
getPageSequance = getPageSequance & "," & CStr(l_tmp - 1 + i_from)
Else
getPageSequance = getPageSequance & ",0"
End If
l_tmp = 2 * (2 * l_paper_count - l_p) + 1
If l_tmp <= l_page_count Then
getPageSequance = getPageSequance & "," & CStr(l_tmp - 1 + i_from)
Else
getPageSequance = getPageSequance & ",0"
End If
Next
If Left$(getPageSequance, 1) = "," Then
getPageSequance = Mid$(getPageSequance, 2)
End If
Else
getPageSequance = ""
End If
End Function
以上就是VBA代碼Imposition是啥意思,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。