2011-12-14 64 views
1

我在Excel中的一个子(宏),我希望能够从Access,它看起来像这样调用:将多个参数传递给Access中的Excel宏?

Sub myMacro(param1 as string, param2 as string) 
... 
End Sub 

在Access中,我有:

xlBook.Application.Run "myMacro", string1, string2 

,但我得到错误:

运行时错误450:

的参数或属性invaluid assignme错误数NT

如何传递到Excel多个参数?

+3

你定义字符串1和字符串作为字符串?否则,它似乎可以按照http://support.microsoft.com/kb/153307 – Fionnuala 2011-12-14 21:19:29

回答

1

按@ Remou的评论,我检查传递的变量类型。

在这种情况下,string2是应该保存一串数字的变体,但是当数字串存储在string2(变体)中时,它被转换为数字(存储在变体[? ])。

然而,更严格的(因而是正确的)类型声明解决了这个问题。

+0

尽管如此:) CHR – Fionnuala 2011-12-15 19:24:07