将变量从excel传递给访问

时间:2016-11-04 11:33:21

标签: excel-vba macros access-vba vba excel

我在Excel中有一个VBA代码,询问用户.xls文件在哪里使用该文件。

我现在要做的是将文件名myFile)传递给我在Access中的VBA代码,以便使用该文件和其他字段更新表。

在VBA Excel中,Sub的名称为:Sub UpdateSupplier(myFile As String)

为了使用myFile,我应该在VBA Access中使用哪些代码?

2 个答案:

答案 0 :(得分:0)

试试这个:将你的变量myFile声明为public,这意味着不写:
在Excel Sub中调暗myFile,
但要改写
在模块的声明部分中公共myFile。

然后在这个模块中创建一个新函数,它只返回这个公共变量myFile:
函数GiveMemyFile()为字符串
GiveMemyFile = myFile 结束功能
现在您可以从Access调用此函数来获取myFile的值。

答案 1 :(得分:0)

我觉得我现在找到了解决方案,如果找到它就会这么简单:

  1. Excel中的'Makro'应如下所示:

    function Test (ByRef strFilename)
    
       strFilename = yourFilename
    
    end function
    
  2. 第一个'技巧'是,使用ByRef参数'strFilename'来回馈你的文件名。

    1. 现在在Access中您可以使用:

      strNewFilename = ""
      xl.Run "Test", strNewFilename    
      Debug.Print strNewFilename
      
    2. 您将看到Excel宏在变量中写入的文件名。 我测试了这个,它对我来说很好。祝你好运!