Vba 字符,这应该允许 '在此处关闭MS Word,但不显示弹出消息: 使用objDoc .Selection.HOME键单位:=wdLine .Selection.MoveRight单位:=wdCharacter,计数:=5,扩展:=wdExtend .Selection.Copy .Documents.Close 退出 以 设置objDoc=Nothing 端接头
您的命令按钮的点击事件: 此子例程应在命令按钮的单击事件中运行。它本质上调用Vba 字符,这应该允许 '在此处关闭MS Word,但不显示弹出消息: 使用objDoc .Selection.HOME键单位:=wdLine .Selection.MoveRight单位:=wdCharacter,计数:=5,扩展:=wdExtend .Selection.Copy .Documents.Close 退出 以 设置objDoc=Nothing 端接头,vba,ms-access,ms-word,ms-access-2010,Vba,Ms Access,Ms Word,Ms Access 2010,您的命令按钮的点击事件: 此子例程应在命令按钮的单击事件中运行。它本质上调用FileToOpen函数和GetWordContent子例程,以便用户选择MS Word文档,然后让VBA将MS Word文档中的格式化文本复制并粘贴到Access中打开表单上的富文本备忘录文本框中 请注意,此子例程进行了一些假设,并引用了可能尚未设置的控件/表/字段等的名称。这些假设是: 表单的命令按钮称为cmdGetWordData Access数据库有一个名为tblWordDump 您的表单已绑定到表tblWord
FileToOpen
函数和GetWordContent
子例程,以便用户选择MS Word文档,然后让VBA将MS Word文档中的格式化文本复制并粘贴到Access中打开表单上的富文本备忘录文本框中
请注意,此子例程进行了一些假设,并引用了可能尚未设置的控件/表/字段等的名称。这些假设是:
Private Sub cmdGetWordData\u Click()
'此子例程在命令按钮上运行;它将同时调用FileToOpen函数和GetWordContent子例程
'检索所选MS Word文档的文本内容。
'然后,它会将所选MS Word文档的路径和文本内容存储在Access表中的两个字段中。
'注意:此代码假定您的Access数据库具有:
'-一个名为tblWordDump的表
'-此表中名为WordDocDataSrc的备注文本字段,用于存储导入的MS Word文件的路径
“-此表中名为WordDocData的备注文本字段,其TextFormat属性设置为“Rich text”,
'将存储导入的MS Word文件的文本和文本格式
作为字符串的Dim strFile
Dim strWordContent作为变体
'通过文件对话框选择文件
strFile=FileToOpen
'选择或未选择文件时的条件
如果_
Len(strFile)>0_
然后
文件编号:GoToRecord,acNewRec
GetWordContent标准文件
MsgBox“导入成功”,vbInformation或vbOKOnly
其他的
MsgBox“未选择文件”、VBEQUOTION或vbOKOnly
如果结束
端接头
这一点你可以随便看看。我对你的工作真的没有经验。不过,我还是找到了这篇文章,它似乎有一些不错的建议:非常感谢你的回答!我试图在反映实际项目的测试环境中实现。见我的更新上面。代码接受文本,但不保留格式。我是否忽略了实现中的某些内容?我无法访问您的示例,因为我们的公司防火墙不允许我从gdrive下载。您希望保留什么格式?我可以看到马车返回和新线路没有保留,所以我会看看是否有办法保留这些。。你还想保留其他格式吗?我需要粗体字、回车和要点。目前,代码似乎基本上只带来纯文本。它为您保留了哪种格式?目前没有(对不起,我应该检查一下)。我认为问题可能出在SQL语句上,因为执行
Debug.Print CVar(objDoc.Range.Text)
表明至少回车符和新行正在进入即时窗口,而不是备忘录文本字段(我并没有将我的示例文件设置为富格文本,但即使这样,它也会将所有内容放在一行中)。我会做一些挖掘:)@rohrl77我已经更新了我的答案和访问文件的链接。我所做的测试效果不错,但我认为在某些格式方面存在一些限制。我确实在一个文件上达到了一些数据限制,所以它可能不适用于冗长的MS Word文档。希望这有帮助:)