Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过VBA将Excel数据复制到格式化的Word表格?_Vba_Excel_Ms Word - Fatal编程技术网

通过VBA将Excel数据复制到格式化的Word表格?

通过VBA将Excel数据复制到格式化的Word表格?,vba,excel,ms-word,Vba,Excel,Ms Word,大家好 我目前正试图找出如何用Excel中的可变数据集填充MS Word模板文档中的表格 目的是自动创建一个变更日志,所有信息都来自Jira票证系统中的票证 我选择了Excel->Word方法,因为我已经实现了一个Excel应用程序,它利用Jira REST-API检索所有需要的信息 现在只剩下数据的拷贝了,这就是我被卡住的地方 我已经找到了一种通过 Dim word As Word.Application word.Documents.Open Filename:="""C:\test.doc

大家好

我目前正试图找出如何用Excel中的可变数据集填充MS Word模板文档中的表格

目的是自动创建一个变更日志,所有信息都来自Jira票证系统中的票证

我选择了Excel->Word方法,因为我已经实现了一个Excel应用程序,它利用Jira REST-API检索所有需要的信息

现在只剩下数据的拷贝了,这就是我被卡住的地方

我已经找到了一种通过

Dim word As Word.Application
word.Documents.Open Filename:="""C:\test.doc"""
但是,我目前还不知道如何访问这个Word文档中的特定元素

我需要的是一个函数来命名某些元素,如Excel,您可以在其中命名单元格/区域,仅用于Word表格,这样我就可以通过VBA访问它们并将数据粘贴到其中

另一个问题可能是列。可以专门访问它们吗

我以前从未使用过Word VBA,因此我非常感谢你们提供的任何帮助:

致意


daZza

这里是MSDN的一个很好的概述。这可能就是你要找的。这将允许您从文档或段落中定义和选择文本范围。还有一个表对象可以在Word中创建和使用,它允许您使用特定于单元格的行和列引用。它实际上与Excel没有什么不同,只是所有内容都是某个元素(例如段落)中的一个字符范围,而不是一个单元格范围。希望这有帮助

谢谢你的推荐信。我快速浏览了一下,它们将评估furhter,但似乎我的主要问题——选择一个特定的表——并没有在这些范围内得到解决。单词范围似乎是由某物的特定位置定义的。但是,我要插入数据的表并不总是位于同一位置,在某些情况下甚至可能包含一些条目。所以我不能在上面定义一个范围。我需要一个相当于Excel中某些范围命名的名称来访问该表,无论它位于何处。对不起,我可能误解了。它是Word文档中的表吗?如上所述,Word中有一个Table对象,但我不相信它有name属性,就像Excel那样,它需要按索引,即ActiveDocument.Tables1.Cell1,1是的。我必须找出Word索引的方式,如果按时间顺序进行,那就太好了,因为我需要访问的表始终是整个文档中的第一个表,而不管还有多少其他表。我相信这是在表的创建时,而不是在表在文档中出现的位置;还有一个ID属性,但我看不出如何设置它。您可以在表格上创建一个幻影标题单元格并按此进行搜索,或者将表格范围标记为书签并按此方式查看。这是一个有点黑的例子;在飞机上模拟它,我的笔记本电脑快死了:P:@daZza从文档中,索引号表示表格在文档中的位置,而不是创建的日期/时间。Word应用程序中有一个宏记录器。运行它以获取进一步更改所需的代码。这是一个很好的起点,接下来,带着一些具体的问题回到这里,展示您的代码。