2016-09-24 62 views
-1

我有一个问题,以一个字的应用程序的变量,通过Excel宏将参数传递给单词宏:从Excel宏

dim wrdApp as Word.Application 
dim wrdDoc as Word.Document 
dim PRODUCT_NAME as string 
PRODUCT_NAME="This thing" 
Set wrdApp = CreateObject("Word.Application") 
wrdApp.Visible = True 
Set wrdDoc = wrdApp.Documents.Add 
wrdApp.Run "MAIN_TOC", PRODUCT_NAME 

这产生运行时错误“450”:
错误数的论据或无效的财产分配。

我在做什么错?

+0

你能后的字码'MAIN_TOC“ – Comintern

+0

,这其中就有问题:( 我没有设置Word宏正确 一旦我做了正确的声明,该变量传递: 子MAIN_TOC (产品为字符串) 当然,这打破了宏观的话,但完全无关的原因 –

+0

我明白了,这可能无法解析没有这些信息。 – Comintern

回答

0

作为背景,我在Excel中处理多个表格,并通过剪贴板将表格传递给Word。 我需要一些方法让Word知道我通过的是哪张桌子。使用“WrdApp.Run”MAIN_TOC“,PRODUCT_NAME”,我认为 将允许Word使用正确的名称处理每个剪贴板。 实际发生的事情是,PRODUCT_NAME已通过,但剪贴板的内容已被删除。

我最终的解决方案是将表格名称放在表格本身中。 单词宏将获得剪贴板,然后查看表的第一个单元格以获取表名。 完成后,Excel将通过下一个表并重复该过程。

所有正在工作。 ?