1

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

在此处输入图像描述

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

最好不要使用 Sendkeys

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

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

A:因为没有那么多

4

1 回答 1

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 (我确定它就在某处......)

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

于 2013-05-10T22:00:08.523 回答