ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 844|回复: 13

[求助] 怎么统计多个WORD文档的文件名和页数

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-4-25 12:37 | 显示全部楼层 |阅读模式
各位老师:求助怎么统计文件夹中多个WORD文档的文件名和页数,文件名后面不要加后缀名,谢谢。

怎么统计WORD文档的页数.rar

92.68 KB, 下载次数: 7

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-25 12:40 | 显示全部楼层
本帖最后由 1042271867 于 2023-4-25 13:31 编辑

原来一位老师写的一个提取PDF文档的,但我修改后只能提取名字,不能统计页数 。原来提取PDF的代码,表格里有。谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-25 16:22 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-26 08:42 | 显示全部楼层
Option Explicit

Sub AutoPageCount()
    Dim I As Long
    Dim xRg As Range
    Dim xStr As String
    Dim xFd As FileDialog
    Dim xFdItem As Variant
    Dim xFileName As String
    Dim xFileNum As Long
    Dim RegExp As Object
    Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
    If xFd.Show = -1 Then
        xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
        xFileName = Dir(xFdItem & "*.PDF*", vbDirectory) 'myPath
        Set xRg = Range("A1")
        Range("A:B").ClearContents
        Range("A1:B1").Font.Bold = True
        xRg = "名称"
        xRg.Offset(0, 1) = "页数"
        I = 2
        xStr = ""
        Do While xFileName <> ""
            Cells(I, 1) = xFileName
            Set RegExp = CreateObject("VBscript.RegExp")
            RegExp.Global = True
            RegExp.Pattern = "/Type\s*/Page[^s]"
            xFileNum = FreeFile
            Open (xFdItem & xFileName) For Binary As #xFileNum
                xStr = Space(LOF(xFileNum))
                Get #xFileNum, , xStr
            Close #xFileNum
            Cells(I, 2) = RegExp.Execute(xStr).Count
            I = I + 1
            xFileName = Dir
        Loop
        Columns("A:B").AutoFit
    End If
   
End Sub

这个是原来的提取PDF代码,请老师有时间时帮我修改成提取WORD的文件名和页码

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-26 13:35 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-27 08:39 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-4-27 11:00 | 显示全部楼层
Sub 统计每个word文档的页数()
    ' https://club.excelhome.net/thread-1660888-1-1.html
    ' 2023-4-27,星期四, 经搜索、拼凑调试。最终测试成功 。统计字数的没成功。
    Application.DisplayAlerts = False       ' 关闭对话框
    Set word = VBA.CreateObject("word.application")
    word.Visible = True
    myPath = ThisWorkbook.Path & "\"      ' 这个工作簿的路径
    myname = ThisWorkbook.Name            ' 这个工作簿的名称
   
    x1 = 2
    Do While Not (IsEmpty(Sheet1.Cells(x1, 2).Value))   ' 对前一个SUB获取的WORD文档数据进行循环
      fname = myPath & Cells(x1, 2).Value               ' 将WORD文档名存入变量中
   
        Set myword = word.documents.Open(fname)         ' 打开WORD文档
        pn = myword.ActiveWindow.ActivePane.Pages.Count ' 对页数进行统计   
        word.documents.Close False                      ' True 关闭WORD窗口
        Windows(myname).Activate    ' 切换到EXCEL窗口
        Cells(x1, 3).Value = pn     ' 记录页数
        
      x1 = x1 + 1
    Loop
    word.Application.Quit
    Set myword = Nothing
    Application.DisplayAlerts = True       ' 恢复对话框
   
End Sub

TA的精华主题

TA的得分主题

发表于 2023-4-27 12:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
论坛的版主,能否给个 统计WORD文档字数的语句?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-27 13:13 | 显示全部楼层
本帖最后由 1042271867 于 2023-4-27 13:14 编辑
wengjl 发表于 2023-4-27 12:43
论坛的版主,能否给个 统计WORD文档字数的语句?

我在网上看到这个里面有统计字数的,但只能统计一个文档,你看看有用不

word统计.rar

17.64 KB, 下载次数: 6

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-27 13:14 | 显示全部楼层
wengjl 发表于 2023-4-27 11:00
Sub 统计每个word文档的页数()
    ' https://club.excelhome.net/thread-1660888-1-1.html
    ' 2023-4 ...

我显示的是这个,不知怎么解决,谢谢
1682572111147.jpg
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 05:49 , Processed in 0.045728 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表