将变量从 EXCEL 发送到 WORD
Sending VARIABLES from EXCEL to WORD
我有一个复杂的 excel 文件,它调用(打开)一个 doc 文件。
现在我希望能够更改 word 文件的一些部分(不更改格式,仅更改字符串)。
我想做的是:
excel 文件每行创建一个 txt 文件
代表 "vars" 我想发送到 word.
打开单词时,DOC 执行一个读取每一行表格的宏
txt 并为 var.
做一个 REPLACE
我想像这样在 doc 上设置 vars:
Bla bla bla bla ?!-1-!? bla bla bla bla ....?!-2-!?
其中 ?!-1-!? 和 ?!-2-!? 是第 1 行和第 1 行要替换的变量2 来自 txt 文件
我的问题是:
- 这是愚蠢的吗?
- 有没有更好的方法?
- 最重要的是,有没有更简单的方法?
还有:我在 vba 的 excel 2003,vba word 2003 的新手。关于在 vba word?
上处理文件的任何帮助链接
TL;DR: 将文本变量从 excel 发送到 word
的最简单方法
- 我不会说它很愚蠢。这是解决此问题的可能方法之一:)
- 可能有更好的方法...
- 可能有更简单的方法...
...不幸的是我不能给你实际的代码。
但我建议您转到“工具”>“参考”,然后启用 'Microsoft Word Object Library'。如果您探索 Word 库,我相信您将能够找到一种在这些应用程序之间传输数据的巧妙方法。
您还可以检查以下内容 link:
Copy Text from Range in Excel into Word Document
抱歉,我无法提供更多帮助。
您的想法不错,但当您要向其发送信息的应用程序没有 "allow access" 时,您可能会使用这种方法。 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
您是否在 MS Word 中查找过邮件合并?尝试想象您的 Excel 电子表格中的数据在 MS Word 中填写套用信函。根据您的描述,听起来您在 Word 中的变量可以翻译成邮件合并字段。字段的数据似乎存储在 Excel 电子表格中。
如果邮件合并是您正在寻找的,您可以将数据的多次迭代存储在不同的行中,并使用 Words 的邮件合并查询功能 print/prepare 仅您需要的内容。
我有一个复杂的 excel 文件,它调用(打开)一个 doc 文件。
现在我希望能够更改 word 文件的一些部分(不更改格式,仅更改字符串)。
我想做的是:
excel 文件每行创建一个 txt 文件 代表 "vars" 我想发送到 word.
打开单词时,DOC 执行一个读取每一行表格的宏 txt 并为 var.
做一个 REPLACE
我想像这样在 doc 上设置 vars:
Bla bla bla bla ?!-1-!? bla bla bla bla ....?!-2-!?
其中 ?!-1-!? 和 ?!-2-!? 是第 1 行和第 1 行要替换的变量2 来自 txt 文件
我的问题是:
- 这是愚蠢的吗?
- 有没有更好的方法?
- 最重要的是,有没有更简单的方法?
还有:我在 vba 的 excel 2003,vba word 2003 的新手。关于在 vba word?
上处理文件的任何帮助链接TL;DR: 将文本变量从 excel 发送到 word
的最简单方法- 我不会说它很愚蠢。这是解决此问题的可能方法之一:)
- 可能有更好的方法...
- 可能有更简单的方法...
...不幸的是我不能给你实际的代码。 但我建议您转到“工具”>“参考”,然后启用 'Microsoft Word Object Library'。如果您探索 Word 库,我相信您将能够找到一种在这些应用程序之间传输数据的巧妙方法。 您还可以检查以下内容 link: Copy Text from Range in Excel into Word Document
抱歉,我无法提供更多帮助。
您的想法不错,但当您要向其发送信息的应用程序没有 "allow access" 时,您可能会使用这种方法。 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
您是否在 MS Word 中查找过邮件合并?尝试想象您的 Excel 电子表格中的数据在 MS Word 中填写套用信函。根据您的描述,听起来您在 Word 中的变量可以翻译成邮件合并字段。字段的数据似乎存储在 Excel 电子表格中。
如果邮件合并是您正在寻找的,您可以将数据的多次迭代存储在不同的行中,并使用 Words 的邮件合并查询功能 print/prepare 仅您需要的内容。