您能以编程方式访问Excel VBA选择吗?

时间:2013-05-10 20:26:18

标签: excel vba vbe

如果我在Excel VBE中打开了一些VB组件,其中一些文本突出显示,

enter image description here

有没有办法以编程方式抓取文本 “zBool”?

最好不要使用Sendkeys

6x New Zealand Steinlager Beers(一个很好的解决方案),另一个很好的解决方案

问:为什么黑羊比白羊少吃?

答:因为没有那么多

1 个答案:

答案 0 :(得分:6)

添加对“Microsoft visual basic for applications extensibility ...”的引用

Sub Tester()

Dim oVBE As vbe
Dim startLine As Long, startCol As Long
Dim endLine As Long, endCol As Long
Dim sContent As String, tmp As String, l As Long
    Set oVBE = Application.vbe

    oVBE.ActiveCodePane.GetSelection _
        startLine, startCol, endLine, endCol

    For l = startLine To endLine
        tmp = oVBE.ActiveCodePane.CodeModule.Lines(l, 1)
        If l = endLine Then tmp = Left(tmp, endCol - 1)
        If l = startLine Then tmp = Right(tmp, (Len(tmp) - startCol) + 1)
        sContent = sContent & IIf(Len(sContent) > 0, Chr(10), "") & _
                  tmp
    Next l


    Debug.Print sContent

End Sub

GetSelection方法: http://msdn.microsoft.com/en-us/library/aa443954(v=vs.60).aspx

请参阅此处了解如何使用返回的信息访问实际文本: http://www.cpearson.com/excel/vbe.aspx(我确定它在某处...)

编辑 - 为我自己的教育做了这件事...... 我会把它放在你的标签上; - )