ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] VBA用excel的内容批量替换Word的页眉内容

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-5-24 11:27 | 显示全部楼层 |阅读模式
本帖最后由 smorth 于 2023-5-23 17:28 编辑

求助一下各位大神。我想用excel的内容批量替换Word的内容,正文部分能正常替换,但是页眉部分没有被替换,网上找了各种资料,无果~

先上代码:
  1. 主过程:
复制代码
  1. 调用的函数:
  2. Private Function iRePlace(ByVal iFilePath As String, ByVal Content_Text As String, ByVal Replacement_Text As String)

  3.     Dim MaFeuille As Worksheet
  4.     Set MaFeuille = Sheets("项目表")
  5.    
  6.     Dim File As String
  7. '    File = ActiveWorkbook.Path & "" & "nomfichier.docx"

  8.     Dim Word_APP As Object
  9.     Set Word_APP = CreateObject("Word.Application")
  10.     With Word_APP
  11.         .Visible = True
  12. '        .WindowState = 1                                        'value for wdWindowStateMaximize
  13.     End With
  14.    
  15.     Dim Word_Fichier As Object
  16.    
  17.     Set Word_Fichier = Word_APP.Documents.Open(iFilePath)
  18.    
  19.     With Word_Fichier.Range.Find
  20.         .Text = Content_Text
  21.         .Replacement.Text = Replacement_Text
  22. '        .Execute Replace:=2                                     'value for wdReplaceAll
  23.         
  24.     End With
  25.   
  26.    
  27.    
  28. '=========================没有成功替换的部分=========================

  29.     Dim Footr As Word.HeaderFooter
  30.    
  31.     For Each Footr In Word_Fichier.Sections(1).Footers

  32.         With Footr.Range.Find
  33.         
  34.             .Text = "P-FCCD14O-01"
  35.             .Replacement.Text = "P-TSPS01-01"
  36.             
  37.             .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindStop
  38.             
  39.         End With
  40.         
  41.     Next Footr
  42.    
  43. '===============================================================
  44.    
  45.    
  46.     Word_Fichier.Save
  47.     Word_APP.Quit
  48.    
  49.    
  50. End Function
复制代码


批处理文件.rar

79.81 KB, 下载次数: 39

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-24 11:29 | 显示全部楼层
主过程的代码好像GG了,重新发一下:
  1. Private Sub SOP()

  2.     Dim iRow&, SorcePath$, iFileName$, iFilePath$
  3.    
  4.     With ThisWorkbook.Sheets("项目表")
  5.    
  6.         SorcePath = "C:\Users\曾建波\Desktop\流式项目\批处理文件\01.SOP P01"    '待处理文件的地址
  7.         
  8. '        For iRow = 2 To .UsedRange.Rows.Count
  9.         For iRow = 2 To 3                                                       '仅用于测试
  10.         
  11.             iFileName = "SOP P01 (" & iRow - 1 & ").docx"
  12.             iFilePath = SorcePath & "" & iFileName
  13.             
  14.             Call iRePlace(iFilePath, "TSPS01", .Cells(iRow, 2).Value)
  15.         Next iRow
  16.    
  17.     End With

  18. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-24 14:24 | 显示全部楼层
自我解答:
  1. '=========================没有成功替换的部分=========================

  2.     Dim Footr As Word.HeaderFooter
  3.    
  4.     For Each Footr In Word_Fichier.Sections(1).Headers

  5.         With Footr.Range.Find
  6.         
  7.             .Text = "P-FCCD14O-01"
  8.             .Replacement.Text = "P-TSPS01-01"
  9.             
  10.             .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindStop
  11.             
  12.         End With
  13.         
  14.     Next Footr
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-24 14:29 | 显示全部楼层
Footers            用于页脚;
Headers           用于页眉;

TA的精华主题

TA的得分主题

发表于 2023-5-24 14:33 | 显示全部楼层
本帖最后由 batmanbbs 于 2023-5-24 15:11 编辑

眉脚弄反了呀
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 09:39 , Processed in 0.031653 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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