首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用MailMerge.OpenDataSource()设置连接

调用MailMerge.OpenDataSource()设置连接
EN

Stack Overflow用户
提问于 2015-01-24 06:43:15
回答 1查看 1.6K关注 0票数 2

我想打开一个Word文件,并将它连接到Excel文档中的第三个表,作为邮件的数据源。我的主要问题是:如何设置"Table3“以避免打开此对话框?

在这里,我的试验(都是作为#后面的评论):

代码语言:javascript
复制
$Word = New-Object -Com Word.Application
$Word.Visible = 'TRUE'
$Doc = $Word.Documents.Open( "D:\GoogleDrive\_POWERSHELL\Template.doc" )
$Doc.Activate()

$DataPath = "D:\GoogleDrive\_POWERSHELL\DataSource.xls"
$DataTable = "Table3"
$default = [Type]::Missing

#1 $Doc.MailMerge.OpenDataSource( "D:\GoogleDrive\_POWERSHELL    \DataSource.xls" ) #this works fine but opens a box to choose the table

#2 $Doc.MailMerge.OpenDataSource( $DataPath ) #this works fine too but opens a box to choose the table

#3 $Doc.MailMerge.OpenDataSource( Name:="D:\GoogleDrive\_POWERSHELL\DataSource.xls", Connection:="Table3" ) #SYNTAX ERROR: Fehlende ")" im Methodenaufruf / Missing ")" in Method Call

#4 $Doc.MailMerge.OpenDataSource -Name "D:\GoogleDrive\_POWERSHELL\DataSource.xls" -Connection "Table3" #SYNTAX ERROR: Sie müssen auf der rechten Seite des Operators "-" einen Wertausdruck angeben.

#5 $Doc.MailMerge.OpenDataSource( "D:\GoogleDrive\_POWERSHELL\DataSource.xls", 'TRUE', 'TRUE', 'TRUE', 'TRUE', '', '', 'FALSE', '', '', '',"'Table3'", '', '', '', '' )

$Doc.MailMerge.OpenDataSource( "D:\GoogleDrive\_POWERSHELL\DataSource.xls", $default, $default, $default, $default, $default,  $default,  $default,  $default,  $default,  $default, "Table3",  $default,  $default,  $default,  $wdMergeSubTypeWord2000 )

#7 $Doc.MailMerge.OpenDataSource( $DataPath, $default, $default, $default, $default, $default,  $default,  $default,  $default,  $default,  $default, $DataTable,  $default,  $default,  $default,  $default )

Write-Host $Doc.MailMerge.DataSource.Name
#$Doc.MailMerge.Execute()
#$Doc.MailMerge.Destination = "D:\GoogleDrive\_POWERSHELL\MailMergeTest.doc"
Start-Sleep 2 #Pause von 2 Sekunden
$Doc.Close()
$Word.Quit()
  • #6 (活动)似乎接近了,但还是打开了选择桌子的盒子。
  • #3和#4 -为什么会出现这些语法错误?正确的语法是什么?
EN

回答 1

Stack Overflow用户

发布于 2015-02-02 18:40:20

Word的最新版本并不关心为Excel文件提供的连接字符串--如果需要特殊的字符串,则必须使用.odc文件(或ODBC)。

您需要的是找到SQLStatement参数并将其设置为正确的SQL。

“从表3$中选择*”

但是精确的语法取决于Table3到底是什么。如果它是一个称为"Table3“的工作表,您将需要

“从表3$中选择*”

如果它是一个命名范围,您将需要

“从Table3中选择*”

如果它是一个命名表,我将不得不检查它是否工作。

如果它不是一个名称,而是Excel工作簿中的第三个工作表,或者是工作簿中的第三个“其他东西”,那么我认为您必须首先自动化Excel来查找要使用的对象的名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28123065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档