如果我在 Excel VBE 中打开了一些 VB 组件,并突出显示了一些文本,如图所示,
有没有办法以编程方式获取文本“zBool”?
最好不要使用 Sendkeys
6x New Zealand Steinlager Beers(一个很好的解决方案),另一个很好的解决方案
问:为什么黑羊比白羊吃得少?
A:因为没有那么多
添加对“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 (我确定它就在某处......)
编辑- 为我自己的教育为你做的......
我会把它放在你的标签上;-)