我有这个复杂的 excel 文件,可以调用(打开) doc 文件。
现在我希望能够更改单词文件的一部分(不会仅对字符串进行格式更改)。
我的想法是:
excel 文件会为每行创建 txt 文件 代表“vars”我希望发送到字。
在打开单词时, DOC 会执行一个读取每个行表单的宏 txt 并为 var 执行REPLACE。
我认为 doc 上的 vars 是这样的:
Bla bla bla bla ?! - 1 - !? bla bla bla bla ....? - - 2 - !?
?! - 1 - !?和?! - 2 - !?是替换为 txt <的第1行和第2行的变量/ strong>文件
我的问题是 :
:我很擅长 excel 2003 的vba, word 2003 的vba新手。有关使用 vba word 上的文件的帮助的任何链接?
TL; DR: 最简单的方式将文本变量从Excel发送到word
答案 0 :(得分:1)
...遗憾的是我不能给你实际的代码。 但我建议你去工具&gt;引用,并启用“Microsoft Word对象库”。如果您探索Word库,我相信您将能够找到一种在这些应用程序之间传输数据的简洁方法。 您还可以查看以下链接: Copy Text from Range in Excel into Word Document
抱歉,我无法提供更多帮助。
答案 1 :(得分:1)
您的想法很好,但是当您要向其发送信息的应用程序“不允许访问”时,您可以使用此功能。 MS Office的好处是你可以实现自动化。所以我建议你从Excel中自动化Word。
首先,您应该在Excel项目中添加对“Microsoft Word对象库”的引用。 第二,要获得消息,你需要在excel代码中使用这样的东西。
On Error Resume Next
Set objWord = GetObject(, "Word.Application")
If Err.Number = 429 Then
'Word is not running; creating a Word object
Set objWord = CreateObject("Word.Application")
Err.Clear
End If
接下来让你的word文档像这样;
Set objDocs = objWord.Documents
objDocs.add("Path to your Word Documenbt")
Set myDoc = objWord.ActiveDocument
接下来我选择使用CustomDocumentProperties
Set prps = objWord.ActiveDocument.CustomDocumentProperties
prps.item("YourCustomName").Value = "Your Variable from Excel"
很难设置你的word文档,所以这里有一些关于我在这里建议的链接或教程。
How to add CustomDocumentProperties Microsoft Example of how to use CustomDocumentProperties in VBA
答案 2 :(得分:1)
你有没有在MS Word中查找邮件合并?试着想象一下Excel电子表格中的数据填写MS Word中的一个套用信函。根据您的描述,听起来您的Word中的变量可以转换为邮件合并字段。这些字段的数据似乎存储在Excel电子表格中。
如果您正在寻找邮件合并,您可以在单独的行中存储多个数据迭代,并使用单词&#39;邮件合并查询功能只打印/准备您需要的内容。