当前位置:首页经验技巧Word经验word技巧大全

vba怎么取得word页数

2025-05-01 13:13:48

1.VBA怎麽读取word的页码

亲,代码如下:

Private Sub TJYS_Click()

Dim d, p As Integer

Dim f, ff As Object

Set fso = CreateObject("Scripting.FileSystemObject")

Set ff = fso.getfolder(ThisDocument.Path)

d = 0: p = 0

For Each f In ff.Files

If f.Name ThisDocument.Name And Left(f.Name, 2) "~$" And f.Name Like "*.doc*" Then

d = d + 1

Documents.Open FileName:=ThisDocument.Path & "\" & f.Name

p = p + ActiveDocument.(wdPropertyPages)

ActiveDocument.Close False

End If

Next f

MsgBox "总共统计了 " & d & " 个文件,总页数为 " & p & "页。", vbOKOnly, "结果"

End Sub

2.vba如何判断word页眉页脚有图?

替换页眉页脚[word] Sub 替换页眉页脚() If ActiveWindow。

View。SplitSpecial wdPaneNone Then ActiveWindow。

Panes(2)。Close With ActiveWindow。

ActivePane。View 。

Type = wdPrintView 。SeekView = Selection。

WholeStory Selection。Delete Unit:=wdCharacter, Count:=1 Selection。

TypeText Text:="这是替换后的页眉" 。SeekView = wdSeekMainDocument End With WordBasic。

ViewFooterOnly Selection。WholeStory Selection。

Delete Unit:=wdCharacter, Count:=1 Selection。TypeText Text:="这是替换后的页脚" ActiveWindow。

ActivePane。View。

SeekView = wdSeekMainDocument End Sub posted @ 2011-06-06 21:23 半点忧伤 阅读(95) 评论(1) 编辑 批量格式设置word 请参考:(请确保所需的文档在同一文件夹下) Sub 批量格式设置() '此代码为指定文件夹中所有选取的WORD文件的进行格式设置 Dim MyDialog As FileDialog, vrtSelectedItem As Variant, Doc As Document ' On Error Resume Next '忽略错误 '定义一个文件夹选取对话框 Set MyDialog = Application。 FileDialog() With MyDialog 。

Filters。Clear '清除所有文件筛选器中的项目 。

Filters。Add "所有 WORD 文件", "*。

doc", 1 '增加筛选器的项目为所有WORD文件 。 AllowMultiSelect = True '允许多项选择 If 。

Show = -1 Then '确定 Application。ScreenUpdating = False For Each vrtSelectedItem In 。

SelectedItems '在所有选取项目中循环 Set Doc = Documents。Open(FileName:=vrtSelectedItem, Visible:=False) With Doc With 。

PageSetup '进行页面设置 。 Orientation = wdOrientPortrait '页面方向为纵向 。

TopMargin = CentimetersToPoints(4。1) '上边距为4。

1cm 。BottomMargin = CentimetersToPoints(4。

1) '下边距为4。1cm 。

LeftMargin = CentimetersToPoints(3。05) '左边距为3。

05cm 。RightMargin = CentimetersToPoints(3。

05) '右边距为3。05com 。

Gutter = CentimetersToPoints(0) '装订线0cm 。HeaderDistance = CentimetersToPoints(1。

5) '页眉1。5cm 。

FooterDistance = CentimetersToPoints(1。 75) '页脚1。

75cm 。PageWidth = CentimetersToPoints(21) '纸张宽21cm 。

PageHeight = CentimetersToPoints(29。7) '纸张高29。

7cm 。SectionStart = wdSectionNewPage '节的起始位置:新建页 。

= False '不勾选“奇偶页不同” 。 = False '不勾选“首页不同” 。

VerticalAlignment = wdAlignVerticalTop '页面垂直对齐方式为“顶端对齐” 。 SuppressEndnotes = False '不隐藏尾注 。

MirrorMargins = False '不设置首页的内外边距 。BookFoldRevPrinting = False '不设置手动双面打印 。

= 1 '默认打印份数为1 。 GutterPos = wdGutterPosLeft '装订线位于左侧 。

LayoutMode = wdLayoutModeLineGrid '版式模式为“只指定行网格” End With 。Close True End With Next Application。

ScreenUpdating = True End If End With MsgBox "格式化文档操作设置完毕!", vbInformation End Sub posted @ 2011-06-06 21:20 半点忧伤 阅读(89) 评论(0) 编辑 VBA实现批量修改Word文档的页脚内容 VBA实现批量修改Word文档的页脚内容 功能示例: 有很多个doc文档,页脚的电话变了,如原电话是4007339339,现在变成4007168339了,要实现批量替换,可使用此程序。 使用说明: 1、复制下面程序代码到VBA里后,点“工具”-“宏”-“宏”-“change”-“运行” 2、输入目录(不要输入根目录,要不速度会很慢) 3、输入要查找的内容 4、输入的替换成你要的内容 -------------------------------------------- '下面是程序代码,复制到Word的VBA里 '此子程序放在Word对象里 Option Explicit Sub change() Dim s As String Dim wb As Object Dim i As Long Dim load As String Dim find As String Dim change As String load = InputBox("输入要修改页脚的文件夹路径,自动扫描子文件夹-------------垃圾桶丁2009-3-8") '要变更的目录 find = InputBox("输入要查找的页脚内容") '查找的内容 change = InputBox("请问要替换成什么内容?") '替换的内容 Set wb = Application。

FileSearch With wb 。NewSearch 。

LookIn = load 。SearchSubFolders = True 。

FileName = "*。 doc" 。

FileType = If 。Execute() > 0 Then For i = 1 To 。

FoundFiles。 Count On Error Resume Next s = 。

FoundFiles(i) Call Macro1(s, find, change) Next i End If End With End Sub '此子程序放在模块里 Option Explicit Sub Macro1(s As String, find As String, change As String) Documents。 Open FileName:=s, ConfirmConversions:=False, _ ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _ PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _ WritePasswordTemplate:="", Format:=。

3.EXCEL如何自动生成目录带页码如何自动生成目录带页码?目录类似

楼主的要求比较特别,难度比较大,你可以试试下面的方法: Excel工作表目录实现方法 方法一:函数公式法(1) 步骤如下: 1、定义名称“directory lists” 2、在引用位置写入名称公式=REPLACE(GET。

WORKBOOK(1),1,FIND("]",GET。 WORKBOOK(1)),)&T(NOW()) 3、新建一个工作表,将此工作表改名为“工作表目录”,并将此工作表放在首位。

4、在“工作表目录”A2单元格输入公式=IF(ROW()>COUNTA(directory lists),"",INDEX(directory lists,ROW())) 5、B2单元格输入公式=HYPERLINK("#"&A2&"!a1","进入") 方法一是网络上常见的方法,实际还有比这更简洁的方法,请看以下方法二 方法二、函数公式法(2) 步骤如下: 1、定义名称“directory” 2、在引用位置写入名称公式=GET。 WORKBOOK(3) 3、新建一个工作表,将此工作表改名为“工作表目录”,并将此工作表放在首位。

4、在“工作表目录”A2单元格输入公式=IF(ROW()>COUNTA(directory ),"",INDEX(directory ,ROW())) 5、B2单元格输入公式=HYPERLINK("#"&A2&"!a1","进入") 方法二是我在试验GET。 workbook(N )中的N参数得出的 方法三:VBA法(3) Sub 目录() Range("a1:b1")。

EntireColumn。Clear Cells(1, 1) = "序号" Cells(1, 2) = "工作表名称" Dim rng As Worksheet Dim L As String I = 2 For Each rng In Worksheets L = rng。

Name L1 = """" & L & """" L2 = """#""" & "&""" Cells(1, 4) = "'=HYPERLINK(" & L2 & L & "!a1""" & "," & L1 & ")" If L "目录" Then Cells(I, 2)。 Formula = "=HYPERLINK(" & L2 & L & "!a1""" & "," & L1 & ")" Cells(I, 1) = I - 1 I = I + 1 End If Next ActiveSheet。

Move before:=Sheets(1) '将目录工作表移到所有工作表的最前面 End Sub 方法三采用了VBA,用以上代码实现工作表目录也不错,是最近一片白云编写调试做的。供朋友们学习与借鉴。

相关知识点: 知识点1:函数HYPERLINK使用 1、创建一个快捷方式(跳转),用以打开存储在网络服务器、Intranet(Intranet:一种组织内部的、使用 Internet技术(如 HTTP或 FTP协议)的网络。 通过利用超链接,您可以在 Intranet上浏览对象、文档、网页和其他目标内容。)

或 Internet中的文件。当单击函数 HYPERLINK所在的单元格时,Microsoft Excel将打开存储在 link_location中的文件。

语法HYPERLINK(link_location,friendly_name) Link_location 为文档的路径和文件名,此文档可以作为文本打开。 Link_location还可以指向文档中的某个更为具体的位置,如 Excel工作表或工作簿中特定的单元格或命名区域,或是指向 Microsoft Word文档中的书签。

路径可以是存储在硬盘驱动器上的文件,或是服务器(在 Microsoft Excel for Windows中)上的“通用命名规范”(UNC)路径,或是在 Internet或 Intranet上的“统一资源定位符”(URL(统一资源定位符 (URL):一种地址,指定协议(如 HTTP或 FTP)以及对象、文档、万维网网页或其他目标在 Internet或 Intranet上的位置,例如: Link_location 可以为括在引号中的文本字符串,或是包含文本字符串链接的单元格。 如果在 link_location中指定的跳转不存在或不能访问,则当单击单元格时将出现错误信息。

Friendly_name 为单元格中显示的跳转文本值或数字值。单元格的内容为蓝色并带有下划线。

如果省略 Friendly_name,单元格将 link_location显示为跳转文本。 Friendly_name 可以为数值、文本字符串、名称或包含跳转文本或数值的单元格。

如果 Friendly_name返回错误值(例如,#VALUE!),单元格将显示错误值以替代跳转文本。 说明 若要选定一个包含超链接的单元格并且不跳往超链接的目标文件,请单击单元格区域并按住鼠标按钮直到光标变成一个十字,然后释放鼠标按钮。

示例 下面的示例打开存储在 Internet的 Budget Report。xls,并显示文本“Click for report”: =HYPERLINK(" report。

xls", "Click for report") 下面的示例创建对工作簿 Budget Report。 xls的 Annual工作表中单元格 F10的超链接,该工作簿存储在 Internet的 D1的内容作为其显示的跳转文本: =HYPERLINK("[ report。

xls]Annual!F10", D1) 下面的示例创建对工作簿 Budget Report。 xls的 First Quarter工作表中 DeptTotal区域的超链接,该工作簿存储在 Internet的 to see First Quarter Department Total”: =HYPERLINK("[ report。

xls]First Quarter!DeptTotal", "Click to see First Quarter Department Total") 若要对 Microsoft Word文档中的特定位置创建超链接,必须使用书签来定义文档中所要跳转的位置。 下面的示例创建对 上名为 Annual c的文档中的书签 QrtlyProfits的超链接: =HYPERLINK("[ c]QrtlyProfits", "Quarterly Profit Report") 在 Excel for Windows中,下面的示例可以将单元格 D5中的内容显示为超链接单元格中的跳转文本,并打开名为 1stqtr。

xls的文件,该文件存储在 FINANCE服务器的 Statements共享文件夹中。此示例使用 UNC路径: =HYPERLINK("\\FINANCE\Statements\1stqtr。

xls", D5) 下面的示。

4.如何在Excel工作表的任意单元格中设页码?

方法一,用VBA Function page() page = (ActiveSheet。

HPageBreaks。Count + 1) * (ActiveSheet。

VPageBreaks。Count + 1) Application。

Volatile End Function 用VBA本人只知道总页码的方法,当前页码就难倒我了,还请VBA高手指教 方法二,用宏表函数与公式 1。 首先:点CTRL+F3打开定义名称,再在上面输入“纵当页”,在下面引用位置处输入: =IF(ISNA(MATCH(ROW(),GET。

DOCUMENT(64))),1,MATCH(ROW(),GET。DOCUMENT(64))+1) 2。

然后再继续添加第二个名称:“横当页”,在下面引用位置处输入: =IF(ISNA(MATCH(column(),GET。DOCUMENT(65))),1,MATCH(column(),GET。

DOCUMENT(65))+1) 3。再输入“总页”;引用位置处输入: =GET。

DOCUMENT(50)+RAND()*0 4。最后再定义“页眉”,引用位置: ="第"&IF(横当页=1,纵当页,横当页+纵当页)&"页/共"&总页&"页" 5。

在函数栏使用应用即可得到需要的页码 特别推荐: 2009年9月全国计算机等级考试时间及科目预告。


免责声明:本站信息来自网络收集及网友投稿,仅供参考,如果有错误请反馈给我们更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任,谢谢您的合作。
版权所有:五学知识网 Copyright © 2015-2025 www.z8000w.com. All Rights Reserved .