1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

帖子
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 19468|回复: 25

[分享] 用HTML+VBS做UI(用户界面)-更新

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-1-12 10:39 | 显示全部楼层 |阅读模式
本帖最后由 kangatang 于 2012-5-21 12:39 编辑

因工作需要,想做一个UI,能提供些输入和选择的功能。我发现hta可以满足我的简单需求。修改后跟大家分享。

HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,双击就能运行,与VB、C++等程序语言所设计的软件没什么差别。原来网页中的工具栏、地址栏以及菜单栏在这个窗口里都没有被显示出来,还可以使用html中的绝大多数标签、脚本等,这就给予你对界面设计更多的控制权。(天哪,当我看到这句话的时候,心情是多么的激动,这不是专为vbs脚本设计的gui界面吗?)
与普通HTML网页相比,它多了HTA:APPLICATION标签,其实就是这个标签提供了一系列面向应用程序的功能,这个特殊的标签,允许你控制这个应用程序的用户界面(UI)。<HTA:APPLICATION>标签位于<HEAD>标签里,它允许你控制诸如是否在所含的窗口里显示一个标题栏,或者显示最大最小化按钮。<HTA:APPLICATION>标签还让你能够访问客户的机器而不用担心安全的限制。

演示.rar (867 Bytes, 下载次数: 926)
附件为hta文件,可以用notepad查看代码,具体如下:
////////////////////
更新:另有一个比较复杂点的范例共参考
http://club.excelhome.net/thread-869263-1-1.html
///////////////////

<script language=vbscript>

function window_onload
   x=300
   y=600
   window.resizeTo x,y
   x=(screen.width-x)/2
   y=(screen.height-y)/2
   window.moveTo x,y
   document.title="演示"
end function

set ow=createobject("wscript.shell")

function Film_onclick
Msgbox "这个按钮想让我做什么呢?"
' ow.run "\\n03f89\share\FilM.xls"
end function

function Music_onclick
Msgbox "这个按钮想让我做什么呢?"
' ow.run "\\n03f89\share\music.xls"
end function

function Sex_onclick
Msgbox "这个按钮想让我做什么呢?"
' ow.run "\\n03f89\share\Sex.xls"
end function

function Food_onclick
Msgbox "这个按钮想让我做什么呢?"
' ow.run "\\n03f89\share\Food.xls"
end function

function Play_game_onclick
Msgbox "这个按钮想让我做什么呢?"
' ow.run "\\n03f89\share\Play-game.xls"
end function

function Post_onclick
Msgbox "这个按钮想让我做什么呢?"
' ow.run "\\n03f89\share\Post.xls"
end function

function Run(StrPath)
ow.run(StrPath)
End Function
</script>

<style>
input{background:#9ed048;}
p{font-size:15;}  
</style>

<body scroll=no bgcolor=#48c0a3>
<p>
请输入要运行的程序:<br><input name=exe style="height:20px;width:200px;" type=text value="regedit">
<BUTTON class=button style="height:20px;width:50px;position: relative;">确定</BUTTON>
<br><br>
<BUTTON class=button style="height:20px;width:50px;position: relative;">记事本</BUTTON>
<br><br><br>
</p>

<center>
<p>
此菜单将为您演示hta的功能<br><strong>请选择:</strong>
<br><br>
<input type=button id=Film  style="height:26px;width:150px;position: relative;" value="Film">
<br><br>

<input type=button id=Music style="height:26px;width:150px;position: relative;" value="Music">
<br><br>

<input type=button id=Sex style="height:26px;width:150px;position: relative;" value="Sex">
<br><br>

<input type=button id=Food style="height:26px;width:150px;position: relative;" value= "Food">
<br><br>

<input type=button id=Play_game style="height:26px;width:150px;position: relative;" value="Play game">
<br><br>

<input type=button id=Post style="height:26px;width:150px;position: relative;" value="Post">
<br><br><br>

<input type=button style="height:26px;width:150px;position: relative;" value="退出 "
onclick=window.close()>
<br><br>
</p>

TA的精华主题

TA的得分主题

发表于 2012-1-12 10:47 | 显示全部楼层
本帖最后由 Kelidai 于 2012-1-12 10:48 编辑

金山提示有病毒?

TA的精华主题

TA的得分主题

发表于 2012-1-12 10:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主,你太牛了。
HTA我真是听都没有听说过。
最近听说有HTML 5 ,主要特点是编写后可以直接运行在ios或安卓系统。免去代码重写的麻烦。不知道楼主能否介绍一二?

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-1-12 10:53 | 显示全部楼层
金山,360经常诬陷好人,过于保守。

附件绝对无毒,无任何动作。只是演示啊。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-1-12 11:04 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-1-12 11:06 | 显示全部楼层
HTA APPLICATION和WSH都是M$对脚本(SCRIPT)的支持,认真来说,它不是网页等级的,因为WEB的安全性要求过高,反过来的意思就是,权限太低。

WSH的VBS在工作上,相当于DOS时代的批处理文件——它是给管理员们做各种管理和任务用的,HTA也差不多,不过加了GUI图形界面。

至于对病毒的检定,耸肩,这种东东可以用文本编辑器打开判定代码的......几年前我在朋友的机上写过一个VBA宏,他那瑞星给我报病毒删了.....
TNND,那才写了一行CREATEOBJECT生成了个FILESYSTEMOBJECT 啊?从此以后我认定瑞星是垃圾中的老母鸡,这都什么智能特征码

至于这个HTA,我没有金山,有怀疑的同学们朋友们,你们试试把那里 CREATEOBJECT生成WSH对象的那行删掉再试试
如果是这个问题,把金山丢掉好了。

TA的精华主题

TA的得分主题

发表于 2012-1-12 11:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
顺便说说,安全性和权限也是相对的,权限太高就有风险,HTA和WSH的代码做病毒是好料子,不过VBA代码本身也是高权限的典型

国产杀毒软件要是看到HTA和VBS就杀,看到WSH和FILESYSTEMOBJECT对象就给个误报,那高级程序员,系统管理员们会吐血的,这些全是垃圾大路货。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-1-12 11:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
hiyou 发表于 2012-1-12 11:06
HTA APPLICATION和WSH都是M$对脚本(SCRIPT)的支持,认真来说,它不是网页等级的,因为WEB的安全性要求过高 ...

还是前辈说得对。我才刚接触。
我是这样认识 “hta” 的:
(熟悉过程 ->)
EXCEL函数 -> VBA -> VBS -> VBS(+HTML) ->.......

TA的精华主题

TA的得分主题

发表于 2012-1-12 11:46 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-1-12 11:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
嗯,说起来,HTA在IE5还是IE6时就推出来了。

它和网页VBS,EXCEL VBA的很大一个区别,是“没有自已的对象”。就是说,它可以当成EXE的独立程序使用,象EXCEL等应用程序,不过呢它能直接用CREATEOBJECT在WINDOWS里调用其它的自动化对象,象EXCEL、IE都可以,但在EXCEL VBA里,你想要创建调用HTA对象,它是不存在的,系统里没有注册这种东西。

拿HTA当VBS的图形界面版来练手还是很有用的,VBS与VBA实际上不是一回事——它们在语法上很象,但用起来,如果说在开发的应用上,我认为它其实和JS是一回事,另外,VBS的调试DEBUG比VBA难度高,这就很考你的调试水平,所以搞个图形界面有帮助。
另外,HTA对理解WEB和HTML的语法、HTML的结构有帮助,但我的经验,不要把它和网页编程混在一起。网页的本质是从某台主机上读取数据流形成HTML或其它格式得到HTTP的响应,或FTP响应等等,这里要理解的是怎么请求,对方怎么响应,在本地分析HTML往往着重分析标记的DIV、TABLE和脚本的编程本身。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-3-24 23:53 , Processed in 0.026463 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表