Board logo

标题: VBS如何获取剪贴板中的算式并计算? [打印本页]

作者: 随风    时间: 2011-2-18 11:30     标题: VBS如何获取剪贴板中的算式并计算?

获取剪贴板中的公式计算后再复制到剪贴板
如: 手动复制 2+6/3+2*8 后再运行a.vbs 则把结果放在剪贴板中.
不要那种打开一个ie窗口的 ^_^

[ 本帖最后由 随风 于 2011-2-18 12:04 编辑 ]
作者: 随风    时间: 2011-2-18 16:18

东拼西凑 ^_^
  1. '获取剪贴板中的算式,计算后粘贴
  2. '获取剪贴板内容
  3. Dim Form, TextBox
  4. Set Form = CreateObject("Forms.Form.1")
  5. Set TextBox = Form.Controls.Add("Forms.TextBox.1").Object
  6. TextBox.MultiLine = True
  7. If TextBox.CanPaste Then
  8. TextBox.Paste
  9. 'WScript.Echo TextBox.Text
  10. End If
  11. '计算
  12. Dim strExp
  13. 'strExp = TextBox.Text & "=" & Eval(TextBox.Text) '显示算式及结果
  14. strExp = strExp & Eval(TextBox.Text) '仅显示结果
  15. '写回计算结果到剪贴板
  16. strCopy=strExp
  17. Call SetClipboardText(strCopy)
  18. Sub SetClipboardText(Text)   '写入信息到剪切板
  19.     Dim wsh
  20.     Set wsh = CreateObject("WScript.Shell")
  21.     wsh.Run "mshta vbscript:ClipboardData.SetData("&chr(34)&"text"&chr(34)&"," &Chr(34)& Text &Chr(34)& ")(close)",0,True
  22.     set wsh=Nothing
  23. End Sub
  24. createobject("wscript.shell").Sendkeys("^v") '模拟ctrl+v
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2