使用另一个工作簿中的Userforms

时间:2016-12-20 12:58:04

标签: excel vba excel-vba userform

我有一个受我公司保护的加载项。我的目标是编写一些VBA来自动化加载项周围的大部分点击。其中的大部分代码都围绕着输入到用户表单的内容,因此我现在尝试的方法是编写代码来处理这些用户表单,而不是重写代码以不使用用户表单。

加载项在其中一个打开userforms的模块中有一个宏。所以我只是用它来打开userform,这不是问题。但是如何访问用户表单中的函数?我需要这样做来模拟用户窗体上的点击。

1 个答案:

答案 0 :(得分:1)

您可以使用上面评论中提到的格式访问用户表单中的功能。为了提供完整的答案,即: -

.button:after, .button:before{
   display:none
}

但是,要使其工作,必须在其自己的代码中将关注功能声明为公共。一个例子:

WorkbookName.FormName.FunctionName

如果您之后想要在用户表单之外设置Public Function ExampleF(Param1 As Integer) ' Function code End Function ,则可以使用格式Param1

这将设置FormName.ExampleF(123),您的函数可以继续将此值用于其代码。

不幸的是,如果您尝试访问的用户表单尚未将其功能声明为公开,我担心它们只能由表单本身访问,并且您无法做其他事情。

您最大的希望是尝试完全重写加载项,或者要求它不受保护以便公开这些功能。