ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] word插入对象时如何换页?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-6-6 15:37 | 显示全部楼层 |阅读模式
有多个word文件想用插入对象功能插到到文档中,如何让每个插入的文件内容另起一页呀?

TA的精华主题

TA的得分主题

发表于 2019-6-6 15:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
插入对象、分页符、对象、分页符.....

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-6 15:55 | 显示全部楼层
daibao88 发表于 2019-6-6 15:45
插入对象、分页符、对象、分页符.....

这个太慢了呀,我有100多个文件,我原来是用插入-对象-对象中的文字,内容是全插入进来了,可我想每个文件内容另起一页,要一个个去插入分页符,有什么好办法吗?

TA的精华主题

TA的得分主题

发表于 2019-6-6 15:57 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-6 16:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
daibao88 发表于 2019-6-6 15:57
vba循环去做,代替手工

那能不能帮忙写个代码,调用插入对象——对象中的文字功能,然后我添加点需要的代码在后面,
录制的宏不好用,只能指定路径下的文件。

TA的精华主题

TA的得分主题

发表于 2019-6-6 16:11 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-6-7 14:54 | 显示全部楼层
本帖最后由 413191246se 于 2019-6-11 09:56 编辑

略。。。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-10 22:53 | 显示全部楼层
413191246se 发表于 2019-6-7 14:54
楼主,由于水平较低,Dir 函数 不太会,现在给出一个初级代码。请认真观看代码中注释,并请注意:双击进入 ...

谢谢!不能用呀,点击文件夹后没有反应

TA的精华主题

TA的得分主题

发表于 2019-6-11 00:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 413191246se 于 2019-6-11 09:57 编辑
  1. Sub FSO批量插入文档()

  2.     If Documents.Count = 0 Then MsgBox "没有打开的文档!", 0 + 16: End

  3.     With Selection
  4.         .EndKey 6
  5.         .InsertBreak 2
  6.     End With

  7.     On Error Resume Next

  8.     Dim objShell As Object, objFolder As Object, pPath$, f As Object, fd As Object, fso As Object, Stack$(), top&, n&, stxt$, doc As Document, x&

  9.     Set objShell = CreateObject("Shell.Application")
  10.     Set objFolder = objShell.BrowseForFolder(0, "请选择要插入的文件夹!", 0, 0)

  11.     pPath = objFolder.self.Path & ""

  12.     Set objShell = Nothing
  13.     Set objFolder = Nothing

  14.     If MsgBox("请确认!是否插入文件夹 " & pPath & " ?", 4 + 16) = vbNo Then ActiveDocument.Close 0: Exit Sub

  15.     Set fso = CreateObject("Scripting.FileSystemObject")

  16.     top = 1
  17.     ReDim Stack(0 To top)

  18.     Do While top >= 1
  19.         For Each f In fso.GetFolder(pPath).Files
  20.             n = n + 1
  21.             stxt = f.Path
  22.             If stxt Like "*.doc*" Then
  23.                 With Selection
  24.                     .InsertFile FileName:=stxt
  25.                     .InsertBreak Type:=wdSectionBreakNextPage
  26.                 End With
  27.                 x = x + 1
  28.             End If
  29.         Next
  30.         For Each fd In fso.GetFolder(pPath).SubFolders
  31.             Stack(top) = fd.Path
  32.             top = top + 1
  33.             If top > UBound(Stack) Then ReDim Preserve Stack(0 To top)
  34.         Next
  35.         If top > 0 Then pPath = Stack(top - 1): top = top - 1
  36.     Loop

  37.     Set f = Nothing
  38.     Set fd = Nothing
  39.     Set fso = Nothing

  40.     With ActiveDocument
  41.         .Range(Start:=.Content.End - 2, End:=.Content.End - 2).Select
  42.     End With
  43.     With Selection
  44.         .Delete
  45.         .Delete
  46.         .HomeKey 6
  47.     End With

  48.     MsgBox "文件夹包含 " & n & " 个文件!" & vbCr & "共插入 Word 文档(*.docx/*.doc) " & x & " 个!", 0 + 48
  49. End Sub
复制代码

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 20:30 , Processed in 0.045341 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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