Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >VBA Access -在Word文档中查找和替换文本

VBA Access -在Word文档中查找和替换文本
EN

Stack Overflow用户
提问于 2017-03-15 15:55:41
回答 1查看 4.3K关注 0票数 5

我已经成功地在Excel中编写了一些VBA代码,这些代码可以打开现有的Word文档,根据Excel工作表中的信息查找和替换字符串。

因为源数据来自Access数据库,所以我想我应该尝试将VBA代码移动到Access中,并从那里运行它。

更新的代码大部分都可以工作,但奇怪的是,当我在access中运行它时,代码中查找和替换文本字符串的部分不起作用。

代码语言:javascript
运行
AI代码解释
复制
Sub CreateFormsPDF()

'   Creates Garda Vetting Forms NVB1 in Word and saves as PDF
    Dim WordApp As Object
    Dim WordDoc As Object
    Dim db As Database
    Dim rs As Recordset
    Dim Records As Integer
    Dim IDAnchor As String
    Dim ID As String
    Dim FilePath As String, SaveAsName As String

    FilePath = "N:\"

'   Start Word and create an object (late binding)
'   Document already exists so reference this
    Set WordApp = CreateObject("Word.Application")
    Set WordDoc = WordApp.Documents.Open(FilePath & "Form1.docx")

    WordApp.Application.Visible = True

'   Point to the relevant table in the Current Database
    Set db = CurrentDb
    Set rs = db.OpenRecordset("qryMailingList", dbOpenDynaset, dbSeeChanges)
    Records = rs.RecordCount

'   Cycle through all records in MailingList Query
    Do Until rs.EOF

'   Define IDAnchor
    IDAnchor = "$$ID$$"

'   Assign current data to variables
    ID = rs!StudentID

'   Determine the filename
    SaveAsName = FilePath & ID & ".pdf"

'   Send commands to Word
    With WordApp
        With WordDoc.Content.Find
            .Text = IDAnchor
            .Replacement.Text = ID
            .Wrap = wdFindContinue
            .Execute Replace:=wdReplaceAll
        End With
        .ActiveDocument.SaveAs2 FileName:=SaveAsName, FileFormat:=17
    End With

    IDAnchor = ID

            rs.MoveNext
    Loop

    WordApp.Quit savechanges:=wdDoNotSaveChanges
    Set WordApp = Nothing
    Set WordDoc = Nothing
    Set rs = Nothing
    Set db = Nothing

    MsgBox Records & " Forms Created"

End Sub

代码执行得很好,只有一个例外,那就是Word中的查找和替换元素。

代码语言:javascript
运行
AI代码解释
复制
'   Send commands to Word
    With WordApp
        With WordDoc.Content.Find
            .Text = IDAnchor
            .Replacement.Text = ID
            .Wrap = wdFindContinue
            .Execute Replace:=wdReplaceAll
        End With
        .ActiveDocument.SaveAs2 FileName:=SaveAsName, FileFormat:=17
    End With

更奇怪的是,我有一个版本的代码通过Excel运行,运行时没有任何问题,并且我已经完全按照原样从该子例程中提取了这段代码。因此,这在Excel中有效,但在Access中无效,但我不知道为什么。

我将非常感谢任何可能的帮助。

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2017-03-15 16:17:20

实际上,我自己也是这么想的……我还没有在工具下引用Word对象库。

总是简单的东西!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42814790

复制
相关文章
在Keras中如何对超参数进行调优?
由于没有一个成熟的理论来解释神经网络,所以配置神经网络通常是困难的,经常被同学们调侃为“炼丹”。
花落花飞去
2018/02/05
16.9K2
在Keras中如何对超参数进行调优?
在 Linux/Mac 下为Python函数添加超时时间
我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做timeout,就是指在网络请求发出开始计算,如果超过 timeout 还没有收到返回,就抛出超时异常。(当然存在特殊情况timeout 会失效,请看Timeouts and cancellation for humans*[1] 这篇文章中作者的举例,我们不考虑这种特殊情况)。
青南
2020/02/26
1.1K0
在 Linux/Mac 下为Python函数添加超时时间
手把手教你在本机安装spark
最近由于一直work from home节省了很多上下班路上的时间,加上今天的LeetCode的文章篇幅较小,所以抽出了点时间加更了一篇,和大家分享一下最近在学习的spark相关的内容。看在我这么拼的份上,求各位老爷赏个转发。。。
TechFlow-承志
2020/04/14
4.4K0
Jira Epic在完成状态时,如何让Epic在Scrum面板待办事项中不显示?
遇到的问题:Epic在完成状态时,仍旧在Scrum面板待办事项中显示,需要手动将其【标记完成】 而想要的效果是:Epic到完成状态时,Epic自动标记完成
donghui
2019/04/19
2.9K0
Jira Epic在完成状态时,如何让Epic在Scrum面板待办事项中不显示?
日本机器人“赢在技术输在商业” 谁之过?
据《金融时报》网站报道,去年当谷歌收购由2位日本机器人工程师创办的一家微型新创公司Schaft时,让人们对日本面临的威胁突然有了新的认识。包括苹果和亚马逊等新科技公司对机器人技术日益感兴趣。 时
机器人网
2018/04/13
7070
日本机器人“赢在技术输在商业” 谁之过?
在Centos下对Tornado的性能进行测试
    在之前的一篇文章中,我们在1g1核的惨淡硬件环境下,对 uwsgi + django 和 gunicorn+ django 的后端服务进行性能测试,得出结论单台django在简单读库操作下只能抗住大约200左右的并发:在Centos下使用Siege对Django服务进行压力测试
用户9127725
2022/08/08
7630
在Centos下对Tornado的性能进行测试
PECVD等离子增强化学沉积技术
纳米涂层(what)是一种功能性、柔性纳米级厚度的薄膜,具有疏水疏油特性。原理(how)在低温真空腔体内,等离子激发反应气体,在基材(被保护的PCBA)表面开启化学反应,生成纳米级厚度的网状保护膜(防泼溅、防潮、疏水、疏油,防腐蚀、防盐雾、防汗液)。气体沉积工艺保证了全面覆盖(内外,缝隙),均匀性,批量处理,牢固性。
用户10405156
2023/03/06
3210
如何通过VPC在本机搭建局域网
前几天在家里测试一个基于WS-AT的分布式应用,但是连接公司网络的VPN出现了问题,不得不采用VPC在本机搭建一个局域网。虽然以前也做过这样的尝试,可能是很久没有弄过了,一些细节记不清了,所以也折腾了好一阵子。在这里,我特意写一篇文章来介绍基于VPC搭建局域网的整个步骤,没有什么技术含量,只当给具有相同需要的朋友多一个参考。 我现在的Host Machine为Windows 7 Ultimate (X64) ,Virtual Machine为Windows Server 2008 (X86),都是现成的。本
蒋金楠
2018/01/16
2.4K0
如何通过VPC在本机搭建局域网
测试人员在技术面试时的注意事项
过完年了,有很多兄弟姐妹们开始春心萌动了,额不对,是物色新工作机会了,所以小编在此整理了一些面试相关的文章,希望对大家有所帮助!
张树臣
2019/03/04
6330
测试人员在技术面试时的注意事项
在使用Qt5.8完成程序动态语言切换时遇到的问题
因为之前了解过一些Qt国际化的东西,所以在写程序的时候需要显示给用户的字符都使用了 tr(" ")的形式,然后使用 Qt Linguist得到相应的 qm(Qt message)文件,再通过网上介绍的方式,在 main函数中使用 installTranslator,即可让程序在启动时自动判断语言环境,加载相应语言。 至此,静态语言切换已经完成,下面要做的是动态切换(即不需要重启软件)。 1.首先,令语言能够切换的 GUI组件用的是 QComboBox,信号是 currentIndexChanged,在于这个
用户1653704
2018/06/07
1.7K0
对测试技术在团队的一个简单思考
测试技术带来的是PPT工具还是紧贴业务,服务于业务的小工具,小脚本,PPT工具大部分可能带来的是高大尚的平台,无效不实用,投入成本高,主要用于晋升和给自己镀金的作用;而小脚本,小工具不高大尚,作用大,感觉替代性高,一直在业务线上,没有发展前途,对以后前途和职业发展来讲是阻碍;也许可能是跪久了,站不起来了,迷路了,不知道 南橘北枳这个成语吗?所以测试技术要符合自己的团队和业务进行发展才是最实在的,太虚了,经济不景气,裁的就是这些;
厦门-安仔
2023/03/07
2320
对测试技术在团队的一个简单思考
在Centos下使用Siege对Django服务进行压力测试
    Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续请求的压力测试。今天我们就使用Siege来对Django进行一次压力测试,看看单台Django服务到底能抗住多少的并发数。
用户9127725
2022/08/08
1.6K0
在Centos下使用Siege对Django服务进行压力测试
微信小程序----wx.getLocation(OBJECT) API在iOS关闭本机定位时,获取定位失败
问题 在做一个小程序时,进入首页需要获取用户的当前位置经纬度,然后去服务器查询当前位置周边的网吧。在安卓关闭定位设置时,wx.getLocation(OBJECT) API依然能够获取当前位置的经纬度;但是iOS如果关闭定位设置,wx.getLocation(OBJECT) API就会失败! 解决办法 微信小程序社区解决办法 根据官网解决的实际用法 Page({ onShow(){ // 获取当前地址 wx.getLocation({
Rattenking
2021/02/01
1.4K0
CPU 摸鱼时,在干嘛?
假设你正在用计算机浏览网页,当网页加载完成后你开始阅读,此时你没有移动鼠标,没有敲击键盘,也没有网络通信,那么你的计算机此时在干嘛?
小林coding
2021/03/30
7820
CPU 摸鱼时,在干嘛?
在定义adt时_ScriptableObject
Mutators 变值器(改变对象属性的方法) 通常范围void,如果返回void,则必然意味着它改变了某些对象的内部状态,也可能范围非空类型(如容器类的put、add方法)
全栈程序员站长
2022/10/02
3060
curl在CDN排障中的常见用法
-I Show document info only 只展示headers,发起HEAD请求 -o Write output to file instead of stdout 保存到本地 -x 用这个option可以指定http访问所使用的proxy服务器及其端口 -v Make the operation more talkative 可以显示一次http通信的整个过程,包括端口连接和http -H Custom header to pass to server 添加header -A/–user-agent [string] 指定UA访问 -e, --referer URL 指定referer --resolve HOST:PORT:ADDRESS Force resolve of HOST:PORT to ADDRESS -X -d 这里的X是大写,-X POST发起POST请求
邪恶の大灰
2019/04/29
3.6K0
点击加载更多

相似问题

goBack屏在排毒测试中的应用

60

排毒只测试飞溅屏

10

排毒测试还没有完成

10

在反应本机溅屏中显示ActivityIndicator 5秒

110

如何使用react本机-i18n在排毒[反应-本机]

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档