场景复现
最近需要帮我弟打印高考资料,搜集完资料去网上打印,商家发出了这个计算页数的界面。我就好奇怎么实现的,计算的准不准,所以就动手自己用VBA代码实现了一下
环境说明
因为需要获取word文件的属性,所以需要引用work库。
实现原理
获取的是左下角页面的数量,然后把各个文件加起来。
计算当前文件夹下所有word文件页数总和
先实现计算当前文件夹下所有文件的,不会计算子文件夹。计算原理也很简单,直接要获取
Sub CountWordPagesInFolder()
Dim folderPath As String
Dim totalPages As Long
Dim doc As Object
Dim fileSystem As Object
Dim folder As Object
Dim file As Object
totalPages = 0
' 设置文件夹路径
folderPath = "C:\Users\Administrator\Desktop\读取页数"
' 创建FileSystemObject
Set fileSystem = CreateObject("Scripting.FileSystemObject")
Set folder = fileSystem.GetFolder(folderPath)
' 遍历文件夹中的每个文件
For Each file In folder.Files
Debug.Print file.Name
If UCase(fileSystem.GetExtensionName(file.Name)) = "DOCX" Or _
UCase(fileSystem.GetExtensionName(file.Name)) = "DOC" Then
' 打开Word文件
'Set doc = wordApp.Documents.Open(file.Path)
' 创建Word应用程序实例
Dim wordApp As Object
Set wordApp = CreateObject("Word.Application")