【问题标题】:Exporting data from single excel spreadsheet into multiple word templates将数据从单个 Excel 电子表格导出到多个 Word 模板
【发布时间】:2017-04-12 02:02:05
【问题描述】:

抱歉,如果答案就在那里,我看不到任何特定于我所要求的内容,并且真的只需要知道这是否可能以及这样做的最佳方法,然后再继续。

我有一个电子表格,其中包含许多包含文本的字段。这些每个都需要转移到不同的单词模板(总共 10 个模板),工作表还包含列,这些列指示每个项目在每个模板中的位置。 (有些会使用多个模板)

最终目标是自动化从电子表格生成模板的过程。

到目前为止,我最初的想法是:

使用邮件合并功能(我从来没有这样做过,所以必须研究一下)

使用 VBA 脚本

这些中的任何一个对于我想做的事情都是可行的吗? (我想我可以很容易地创建一个宏来排列 excel 中的数据,我真正的问题是自动进入正确的单词模板)

如果两者都可行,哪个更容易?

很抱歉,如果这不是很清楚,我只是想先获得一个知情的印象,然后再继续说实话。

谢谢

【问题讨论】:

  • 我认为 Excel 中的 VBA 能够做到这一点。但有些事情并不清楚。您希望您创建的 Word 文档具有 Excel 文件的更新版本还是静态版本?例如,您可以链接 Excel 文件,这样如果对 Excel 文件进行了更改,则更改会自动更新到 word 文档。这样做可能会产生其他问题,但是……如果您使用这种(手动)方法,您只需执行一次,无需再次执行……即在 Word 模板中手动创建 Excel 链接。
  • 可能出现的问题/问题总是在打开/关闭时重新链接 Word/Excel 文件,可能存在维护此“链接”到 Excel 文件的网络问题。根据您想要的成品,VBA 应该可以工作,如果您熟悉 VBA,我会从那里开始。 C# 是我的选择,但处理 Word 的任何事情本身通常都是一个挑战。祝你好运。
  • 感谢您的信息。每周创建一个新的 Excel 文件。内容被传输到适当的单词模板并保存为 PDF。我会考虑使用 VBA。

标签: vba excel templates ms-word


【解决方案1】:

邮件合并当然应该为您完成。如果您想使用 DocVariables,您也​​可以这样做。这是一个示例脚本供您试用。

Sub PushToWord()

Dim objWord As New Word.Application
Dim doc As Word.Document
Dim bkmk As Word.Bookmark
sWdFileName = Application.GetOpenFilename(, , , , False)
Set doc = objWord.Documents.Open(sWdFileName)

objWord.activedocument.variables("FirstName").Value = Range("FirstName").Value
objWord.activedocument.variables("LastName").Value = Range("LastName").Value

ActiveDocument.Fields.Update

objWord.Visible = True

End Sub

【讨论】:

  • 非常感谢!我仍在努力,不用说进展缓慢,但这非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
相关资源
最近更新 更多