自我修改代码是一种黑色艺术,一般来说,在lisp、python等脚本语言中更容易。
然而,几乎没有什么是不可能的,所以我首先参考 Microsoft Visual Basic for Applications Extensibility 库(例如,C:\ Program Files \ Common Files \ Microsoft Shared \ VBA \ VB a6 \ vbe 6 ext。OLB),然后检查对象模型(F2)。
例如,您可能最终会玩这样的东西-
- Dim component As VBComponent, _
- subDef As String, _
- QT As String
-
- QT = Chr$(34)
-
- subDef = "Sub Woot ()" & vbCrLf & vbCrLf & _
- vbTab & "Call Msgbox ( " & QT & "Woot!" & QT & ") " & vbCrLf & vbCrLf & _
- "End Sub"
- Set component = VBE.ActiveVBProject.VBComponents.Add(vbext_ct_StdModule)
- component.CodeModule.AddFromString subDef
为了简洁/懒惰,我忽略了许多细节,包括但不限于检查您是否已经添加了代码模块、模块命名、调用技术...雅达。
玩得开心,但不要伤害任何小动物。 |