打印时显示每页的行数 vba 语句

打印时显示每页的行数 vba 语句,第1张

Sub aa()

Dim fysl As Long, fyhs As Long, rng As Range

With ActiveSheet

fysl = HPageBreaksCount

t = 1

For i = 1 To fysl

    fyhs = HPageBreaks(i)LocationRow - t

     t = HPageBreaks(i)LocationRow

     PageSetupRightFooter = "第 &P 页,本页共" & fyhs & "行"

     PrintOut from:=i, To:=i     '打印页面

Next

End With

End Sub

因为EXCEL不能为所有的页面单独设置页脚,所以只能采用设置一次,打印一页,然后再继续下一页

建议将上面共几行放到表中单元格内,就不用这样麻烦       

上面是在页面的右下角设置页脚,可以根据需要修改,居中还是靠左

      ActiveSheetPageSetupLeftFooter = "页脚位置靠右左"

      ActiveSheetPageSetupCenterFooter = "页脚位置居中"

      ActiveSheetPageSetupRightFooter = "页脚位置靠右"

打开pdf文档,查找到指定字符串,然后插入书签

以下代码先设置一个待查找字符串,用findtext方法查找,然后用createchild方法插入书签。代码的运行环境为Win81,Word2010 VBA,Acrobat Pro DC,在本机测试成功。

使用到的主要方法为AVDocFindText和BookMarkcreateChild。

AVDocFindText有4个参数

szText,要查找的字符串

bCaseSensitive,是否区分大小写,正数为区分,0为不区分

bWholeWordsOnly,是否匹配整个单词,正数为匹配,0为不匹配

bReset,查找开始的位置,正数则从第一页开始,0则从当前页开始

BookMarkcreateChild有3个参数

cName,用户在导航面板中看到的书签的名称。

cExpr,单击书签时要执行的表达式,为JavaScript

nIndex,(可选)在书签的子数组中,创建新子书签的基于0的索引。默认值为0。

Sub Pdf添加书签()

'为某书添加书签

Dim App As New AcrobatAcroApp

Dim PDoc As New AcrobatAcroPDDoc, AVDoc As New AcrobatAcroAVDoc

Dim Jso As Object

Dim BMark As Object '不能声明为AcrobatAcroPDBookmark,否则createchild方法不可用。

Dim PFile As String, WordTF As String, PageNum As Long

PFile = "F:\指定文件pdf" '要插入书签的pdf文件

WordTF = "要查找的"

If PDocOpen(PFile) Then

Set Jso = PDocGetJSObject

Set AVDoc = PDocOpenAVDoc("")  '获得一个可见文档

JsobookmarkrootRemove '移除原有的所有书签

End If

If AVDocFindText(WordTF, 0, 0, 1) Then '从第一页开始,如果找到了字符串WordTF一次

PageNum = AVDocGetAVPageViewGetPageNum '获得当前页码

Set BMark = Jsobookmarkroot '设置书签根对象

BMarkcreateChild WordTF, "thispageNum=" & PageNum, 0 '创建一个书签

PDocSave 1, PFile

End If

PDocClose

AppCloseAllDocs

AppHide

AppExit

Set AVDoc = Nothing

Set PDoc = Nothing

Set App = Nothing

Set BMark = Nothing

Set Jso = Nothing

End Sub

VBA设置excel自动打印:

sub dayin()

ApplicationActiveSheetPrintOut copies:=1

end sub

这是打印当前的工作表 打印一份

如果是打印当前工作薄中的工作表

ExcelActiveWorkBookPrintOut(1,ExcelWorkSheetscount,1,T) 带参数的打印

参数说明:共四个参数

参数1-数值:当前工作簿中进行打印的起始工作表号(默认1)参数2-数值:当前工作簿中进行打印的结束工作表号(默认最末)

参数3-数值:打印份数(默认1)

参数4-逻辑值:是预览打印还是直接打印:T-预览打印,F-直接打印(默认F)

ExcelActiveSheetPrintOut()

参数说明:共八个参数

参数1-数值:起始页号,省略则默认为开始位置参数2-数值:终止页号,省略则默认为最后一页

参数3-数值:打印份数,省略则默认为1份

参数4-逻辑值:是否预览,省略则默认为直接打印(F)

参数5-字符值:设置活动打印机名称,省略则为默认打印机

参数6-逻辑值:是否输出到文件,省略则默认为否(F),若选T且参数8为空,则Excel提示输入要输出的文件名

参数7-逻辑值:输出类型,省略则默认为(T)逐份打印,否则逐页打印

参数8-字符值:当参数6为T时,设置要打印到的文件名

ExcelActiveSheetPrintOut(1,3,6,F,"MyPrinter",F,T,,) 从1页打印到3页,打印6份,通过MyPrinter打印机来打印,并且,要逐份打印。

例子如下

Sub 统计当前PPT页数()

Dim n As Integer

n = ActivePresentationSlidesCount

MsgBox n

End Sub

方法1:先用PrintArea 设置打印区域,然后再打印。这种设置将会保存到EXCEL文件中。比如:

Worksheets("Sheet1")PageSetupPrintArea = "$A$1:$C$5"

Worksheets("Sheet1")PrintOut

方法2:直接打印指定区域,而不修改打印区域设置。比如

Worksheets("Sheet1")Range("$A$1:$C$5")PrintOut

帮助说明,修改程序可以设置打印参数,并显示即为。

expressionPrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)

expression 必需。该表达式返回“应用于”列表中的一个对象。

From Variant 类型,可选。打印的开始页号。如果省略该参数,将从起始位置开始打印。

To Variant 类型,可选。打印的终止页号。如果省略该参数,将打印至最后一页。

Copies Variant 类型,可选。要打印的份数。如果省略该参数,将只打印一份。

Preview Variant 类型,可选。如果该值为 True,则 Microsoft Excel 打印指定对象之前进行打印预览。如果该值为 False(或者省略此参数),则立即打印该对象。

ActivePrinter Variant 类型,可选。设置活动打印机的名称。

PrintToFile Variant 类型,可选。如果该值为 True,则打印输出到文件。如果没有指定 PrToFileName,则 Microsoft Excel 将提示用户输入要输出文件的文件名。

Collate Variant 类型,可选。如果该值为 True,则逐份打印每份副本。

PrToFileName 可选,Variant 类型。如果 PrintToFile 为 True,则本参数指定要打印到的文件名。

以上就是关于打印时显示每页的行数 vba 语句全部的内容,包括:打印时显示每页的行数 vba 语句、如何用VBA实现打开PDF并查询数据,获取页码,或是提取该页面为新文件、EXCEL用VBA解决打印问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10126225.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存