Tag: vbide

OLE自动化并与另一个VBE / VBA IDE交互

我熟悉OLE自动化,并从给定的VBA IDE / VBE(特别是Excel的VBE)控制其他应用程序。 虽然我知道可以使用SendKeys方法来实现我想要做的事情,但是我觉得在某些情况下它可能是不可靠的(更不用说有点sl)了)。 简而言之,我试图从Excel内部编写一个VBA模块到文本文件(已经计算出来了),然后让目标应用程序的VBA IDE导入模块并执行代码。 我的主要推论是,针对所述目标应用程序可用于Excel的参考库具有限制(正如人们所期望的那样,目标应用程序的VBA IDE具有更多的属性和方法来处理,因为其参考库特定于应用程序本身,显而易见的原因)。 任何想法如何最好地完成这个? 最好是创build一个自定义的COM引用或调整和现有的(我会认为这是相当困难的,因为我不熟悉C#或Visual Studio)? (注意:如果您想知道,我正在使用Reflection Sessions(IBM,适用于Windows),并且对我正在使用的主要COM(EXTRACOM)进行了相当广泛的介绍,在Reflection Sessions VBE中有一些方法.GetFieldText (无论应用程序光标放在给定字段的哪个位置,都会返回整个字段的名称,这比EXTRACOM的.GetString有用,它需要程序员指定字段长度和光标位置)另一个属性方法: .GetFieldColor (它将返回字段颜色的数字代码,EXTRACOM(用于reflection的Excel参考文件)缺less的属性/方法。

导入代码行

我们可以在vba中读取脚本或代码行吗? 就像我们在php中包含函数一样。 例如: 我们把它存储在Excel的某个地方,并把范围称为xyz line 1 of code line 2 of code line 3 of code 然后在运行一个macros时,我们就这样称呼它 Sub my_macro() xyz End Sub 基本上我想重复运行几行代码,但不想创build另一个macros并传递参数。

VBA – 自动检查/取消选中微软脚本运行时间

我有以下function,自动添加Microsoft Script Runtime参考引用列表。 但是,如果用户已经包含Microsoft script runtime ,它将显示错误Name conflicts with existing module,project, object library 。 如果自动添加Microsoft script runtime如果它不包含在引用中),并且如果已经添加,则不执行任何操作? Private Function AddScriptingLibrary() As Boolean Const GUID As String = "{420B2830-E718-11CF-893D-00A0C9054228}" On Error GoTo errHandler ThisWorkbook.VBProject.References.AddFromGuid GUID, 1, 0 AddScriptingLibrary = True Exit Function errHandler: MsgBox Err.Description End Function

Excel VBA存储数组中的函数或子例程

在C / C ++中,当我有一堆函数(指针)时,我可以将它们存储在一个数组或向量中,并按照一定的顺序调用它们中的一些。 在VBA中可以做类似的事吗? 谢谢!