环境:excel2003,a1单元格内容是“13341”,通过鼠标选定“334”目的:对“334”进行运算,,例如乘以2,用运算结果“668”替换掉“334”, a1内容变为“16681”。难点:选定“334”时,a1处于编辑状态,无法运行VBA,这一点通过VS2008的VSTO 工具生成addins按钮解决,程序可以运行了,但是始终无法
达成目标,代码如下:
Private Sub simpleButton_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton, ByRef CancelDefault As Boolean) Handles simpleButton.ClickDim n As StringTry
Clipboard.Clear()
MsgBox("You clicked on the button") ’可以运行
Me.applicationObject.Range("a1").select() ’目的是把焦点放在a1,可以运行
Me.applicationObject.SendKeys("^C", True) ‘目的是复制a1中选中的内容“334”
n = Clipboard.GetText ’把内容传递到n
MsgBox(n) ‘这里n一直显示为空
‘还有用运算结果取代选定内容的代码,还没有写
Catch ex As Exception
MessageBox.Show(ex.Message)
End TryEnd Sub以上过程是在选定了“334”之后 点击执行的~请高手帮忙看看
达成目标,代码如下:
Private Sub simpleButton_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton, ByRef CancelDefault As Boolean) Handles simpleButton.ClickDim n As StringTry
Clipboard.Clear()
MsgBox("You clicked on the button") ’可以运行
Me.applicationObject.Range("a1").select() ’目的是把焦点放在a1,可以运行
Me.applicationObject.SendKeys("^C", True) ‘目的是复制a1中选中的内容“334”
n = Clipboard.GetText ’把内容传递到n
MsgBox(n) ‘这里n一直显示为空
‘还有用运算结果取代选定内容的代码,还没有写
Catch ex As Exception
MessageBox.Show(ex.Message)
End TryEnd Sub以上过程是在选定了“334”之后 点击执行的~请高手帮忙看看
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货