我的自动化邮件应用程序出现问题。该应用程序使用MS Word模板和MS Word数据源。我用下面的方法来创建数据源,并将其绑定到模板:MailMerge查询字符串超过255个字符
expression.CreateDataSource(Name, PasswordDocument, WritePasswordDocument, HeaderRecord, MSQuery, SQLStatement, SQLStatement1, Connection, LinkToSource);
下面是MSDN页面上此方法,以供参考:
https://msdn.microsoft.com/en-us/library/office/ff820730(v=office.15).aspx
一切工作正常,但是,我的一些Word模板有许多if语句,使查询字符串长于255个字符。当应用程序尝试执行createDataSource方法时,它会出错。
它看起来像MSDN页面说的SQLStatement,SQLStatement1参数可以用来查询分解成两个部分。所以,我的问题是如何利用这些参数?它们是可选的,目前我没有使用它们。
也许甚至有一个更好的解决方案呢?任何见解都会很棒!我做了很多网络搜索,但没有找到明确的解决方案。
如果有任何其他信息,请让我知道。需要更好地解决这个问题。
谢谢!
感谢您的回应!我可能完全不了解我的问题。当我的应用程序执行Mailmerge.CreateDataSource方法时,它会给我提供字符限制错误。我为此设置的唯一参数是源路径和标题列表,之后填入值。另外我目前没有手动设置sqlstatement参数。发生错误是因为我在标题列表中有太多不同的值? – Brian03
我的不好,真的。 AFAIK,CreateDataSource只允许您创建平面数据文件(例如,Windows Word的新版本中的.docx格式)。在某些Word参数中使用字符串长度限制的字符限制错误。您的查询条件导致长查询的事实可能不是问题的根源。使用CreateDataSource的FWIW,您可以使用较短的字段名称来创建更多字段(如果Word创建.docx数据源,则可以使用最多64个字段)。对于更灵活的数据源,请尝试使用ADO和/或ADOX创建.mdb/.accdb,然后使用OpenDataSource进行连接。 –
听起来不错,感谢您的帮助! – Brian03