| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 859 人关注过本帖
标题:自动计算文本框里的值
只看楼主 加入收藏
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:6 
自动计算文本框里的值
我有个文本框,输入1*2+4*5自动得到结果显示在Label1上结果为22
搜索更多相关主题的帖子: 文本框 
2015-04-17 15:44
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:20 
可以借用VBS. 在网上找了一现成的
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long

Private Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function

Private Function calc() As String
ExecuteLine "dim x as double"
ExecuteLine "x= " & Text1.Text
ExecuteLine "clipboard.settext x"
Label1.Caption = Clipboard.GetText
End Function

Private Sub Command1_Click()
calc
End Sub

大开眼界
2015-04-17 16:05
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 2楼 lianyicq
谢谢回复,完美!
2015-04-21 09:23
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 2楼 lianyicq
为何封装后提示欠缺VBA6.dll,要怎么引用或注册!!
2015-04-21 10:11
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 3楼 yuk_yu
能否用其他办法解决?


Dim Str As String   '用来存储表达式  
Dim Rst As String  ’用来存储结果 
Dim SCtl As Object   
Set SCtl = CreateObject("MSScriptControl.ScriptControl") ’创建并存储ScriptControl对象 
Str = txbExpression  ’将表达式的值传递给Str 
SCtl.Language = "VBScript" '设置脚本语言为 
VBScriptRst = SCtl.Eval(Str)   '计算表达式的值 
txbValue = Rst '输出最终结果


为何还是不行?
2015-04-21 10:40
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
回复 4楼 yuk_yu
嵌入了VB代码的语句,不可能脱离了VB开发环境来运行。要生成EXE再执行,只能另外想办法了。

大开眼界
2015-04-21 11:38
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
回复 5楼 yuk_yu
可以借用excel完成,编译为exe也没问题.不过要有临时EXCEL文件
程序代码:
Private Sub Command1_Click()
Dim EXAPP As Excel.Application
Dim WB As Excel.Workbook
Dim sht As Excel.Worksheet
Dim cz As String
Set EXAPP = CreateObject("excel.application")
Set WB = EXAPP.Workbooks.Open("c:\test.xlsx")
Set sht = WB.Worksheets("Sheet1")
sht.cells(5, 1) = Text1.Text
sht.cells(5, 2) = "=" & Text1.Text
WB.Save
Label1.Caption = sht.cells(5, 2)
WB.Close
Set sht = Nothing
Set WB = Nothing
Set EXAPP = Nothing
End Sub



大开眼界
2015-04-21 12:17
快速回复:自动计算文本框里的值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015445 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved