ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] WORD怎么按页批量生成EXL

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-7-30 00:24 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 猪腰子 于 2019-7-30 00:28 编辑

附件.7z (27.8 KB, 下载次数: 6) 如题有一个挺大的word文档,每一页是一个表格,格式都一样。要把把它每一页生成一个独立的EXL。。。折腾了半天只在论坛上找到一个word按页分裂成word的VBA,还只能取每页第一行做文件名,可是我的表格每一页第一行都是一样的。跑了半天就生成一个文件。。。
我想把每一页表格中标红加粗的第六行第三列作为文件名,但是怎么搞都取不了值。。求大神指导一二。

这个是我看守柔前辈贴的。那个Fn取值怎么改都改不对。。
  1. Sub SaveAsPage()
  2. Dim PageCount As Integer, StartRange As Long, EndRange As Long, MyRange As Range, Fn As String, MyDoc As Document
  3. On Error Resume Next
  4. PageCount = Selection.Information(wdNumberOfPagesInDocument)
  5. Range(0, 0).Select '将光标移至文档起点
  6. For i = 1 To PageCount '设置循环次数
  7.     StartRange = Selection.Start '取得该页的第一个字符位置
  8.     Selection.EndKey Unit:=wdLine '将光标移动到该页首行的最后位置
  9.      Fn = Range(StartRange, Selection.End - 1) '-1的目的是防止该页首行含有段落标记,导致出错.
  10.         If i = PageCount Then '如果循环到达最后一页
  11.         EndRange = ActiveDocument.Content.End '将文档最后位置赋值于EndRange
  12.         Else
  13.         Selection.GoToNext (wdGoToPage) '否则,将下一页的起始位置赋值于EndRange(等同于本页的最后位置)
  14.         EndRange = Selection.Start
  15.         End If
  16.     Set MyRange = Range(StartRange, EndRange) '将本页中的内容进行复制
  17.     MyRange.Copy
  18.     Set MyDoc = Documents.Add '新建一空白文档
  19.     MyDoc.Range(0, 0).Paste '在文档开始处粘贴
  20.     MyDoc.SaveAs FileName:=Fn '保存文档名
  21.     MyDoc.Close '关闭文档
  22. Next
  23. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2019-7-30 08:33 | 显示全部楼层
如果只是取表格数据,可以在VBA Word中参考ThisDocument.Tables的对象调用

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-30 08:47 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
......零回复这么尴尬吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-30 08:48 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
deadzlq 发表于 2019-7-30 08:33
如果只是取表格数据,可以在VBA Word中参考ThisDocument.Tables的对象调用

好的,谢谢大佬,我刚到公司,来研究研究。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-30 10:51 | 显示全部楼层
deadzlq 发表于 2019-7-30 08:33
如果只是取表格数据,可以在VBA Word中参考ThisDocument.Tables的对象调用

大佬能不能教我一下,怎么把这个宏里面,文件名的取值变一下。。。Fn那一行好像是直接取第一行内容,怎么能改成取第六行第三格内容

TA的精华主题

TA的得分主题

发表于 2019-7-30 12:42 | 显示全部楼层
楼主,建议最好把附件以 RAR 格式发上来,我们不想再安装一个 7Z 把你的附件解压。
下面是当光标在表格中时,第6行3列单元格的文本:
Sub test()
    Dim i$
'光标放在该表格中
    i = Selection.Tables(1).Cell(6, 3).Range
    i = Left(i, Len(i) - 2)
    MsgBox i
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-30 12:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
413191246se 发表于 2019-7-30 12:42
楼主,建议最好把附件以 RAR 格式发上来,我们不想再安装一个 7Z 把你的附件解压。
下面是当光标在表格中 ...

[url=]附件.zip[/url]

额,大佬们都用的winrar吗,原表太大了,附件放不下,我截取了三页做了个小样,格式ZIP了应该能打开了,烦请指教一下。。。感激不尽

附件.zip

27.9 KB, 下载次数: 12

TA的精华主题

TA的得分主题

发表于 2019-8-2 06:54 | 显示全部楼层
* 楼主,你好! 我觉得你态度很好,我很喜欢。

* 现在通用的压缩软件还是 WinRAR(最早我最喜欢 WinZip,但听了朋友们的建议改用了 WinRAR)。因为 7-Zip 一般是不安装的,有 WinRAR 就够了,所以一般提供附件最好是用 WinRAR,最通用。

* 附件无需太大,3 页已足够。附件看了,觉得每页都是很漂亮的表格,横向的,只须调整页边距,使其居中即可。

* 楼主,我暂且先不编码。因为我觉得没有必要编码,不管会不会。这么好看的表格,为什么要拆分,为什么要放到 Excel 中去?目的是什么?——我使用 Word 多年,最熟悉;Excel 也会一点点,会几个函数公式,但几乎不怎么使用。——各位朋友都需要明白一点:Word 是“文字处理”软件,Excel 是“数据处理”软件,这个不要弄混淆了!

* 楼主,请好好想想:为什么要把这么好看的 Word 表格放到 Excel 中去呢? 要查询数据?上级要求?

TA的精华主题

TA的得分主题

发表于 2019-8-3 15:15 | 显示全部楼层
我以前帮个哥们写过一个总表台账按模板生成分表的,里面的信息跟你这完全一样,你们是一个单位的吗?

TA的精华主题

TA的得分主题

发表于 2019-8-3 17:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 xxcza 于 2019-8-3 17:48 编辑

可以加我QQ 93070784  我以前做过类似的
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 14:50 , Processed in 0.042670 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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