亲,代码如下:
Private Sub TJYS_Click()Dim d, p As Integer
Dim f, ff As Object
Set fso = CreateObject("ScriptingFileSystemObject")
Set ff = fsogetfolder(ThisDocumentPath)
d = 0: p = 0
For Each f In ffFiles
If fName <> ThisDocumentName And Left(fName, 2) <> "~$" And fName Like "doc" Then
d = d + 1
DocumentsOpen FileName:=ThisDocumentPath & "\" & fName
p = p + ActiveDocumentBuiltInDocumentProperties(wdPropertyPages)
ActiveDocumentClose False
End If
Next f
MsgBox "总共统计了 " & d & " 个文件,总页数为 " & p & "页。", vbOKOnly, "结果"
End Sub
目前我想到的方案是利用Word里面的“索引”功能。
1、选中需要提取的文字,执行菜单命令“插入-引用-索引和目录”;
2、在“索引”选项页里面选择单击按钮“标记索引项”;
3、指定“选项”为“当前页”,根据需要可以指定提取之后显示的页码格式为加粗或者倾斜,单击“标记”;
4、此时标记索引项窗口并不会关闭,而且你还能在文档中找到并选中下一个需要提取的文字,重复步骤3;
5、如果没有其它需要提取的文字了,单击“关闭”;
6、在需要插入索引表的地方,执行菜单命令“插入-引用-索引和目录”,根据需要设置索引表的格式(比如分栏、对齐、缩进等风格),然后单击“确定”。
这样所有标记过索引的文字以及它们所在的页码就都提取出来了。
如果需要提取的文字有很多,那么或许也可以用VBA宏来自动标记索引(即相当于自动完成上面的1-5步骤)。但是前提是这些文字必须都有非常特定的格式,即可以保证当前文档中凡是具有这个格式的文本,都是需要提取索引的文本。
如果楼主感兴趣的话,可以补充提问或者和我联系,并请告知Word版本号。
_______________________
补充:
下列VBA代码可以自动为当前文档中的所有红色文字建立索引条目,并在当前光标位置处插入带文字条目以及对应页码的索引表:
Option Explicit
Sub AutoMarkIndexForAllRedText()
Dim oSaveSelection As Range
Set oSaveSelection = SelectionRange
SelectionStartOf wdStory
SelectionFindClearFormatting
SelectionFindFontColor = wdColorRed ' 在这里可以设置更多的匹配格式,如字体、字号等
While SelectionFindExecute(FindText:="", Forward:=True, Format:=True)
ActiveDocumentIndexesMarkEntry(SelectionRange, SelectionRangeText)Select
SelectionCollapse wdCollapseEnd
Wend
oSaveSelectionSelect
ActiveDocumentIndexesAdd SelectionRange
MsgBox "完成!"
End Sub
如果楼主对于这个代码生成的索引表样式不太满意,也没关系。因为现在所有索引条目已经建好,所以只需把自动生成的索引表删除后用Word自己的“插入-引用-索引和目录”命令来重新生成符合自己要求样式的索引表即可。
云盘
链接已
私信
发送给你了,你看一下是不是你需要的
如果还有
哪位朋友想要,请点“赞”此条回答以后,在下面的评论里留下您的****
学无止境,希望回答能给你带来帮助,如果,不满意的话请继续追问。
以上就是关于VBA怎麼读取word的页码全部的内容,包括:VBA怎麼读取word的页码、word 怎样提取特定格式的文本及所在的页码、求助,java读取word格式,比如章节名等等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)