VBscript的函数声明表达式

suiyue_12345 2017-11-16 11:07:37
麻烦各位大神帮忙看一下,这个VBscript的函数声明表达式有什么不对的吗,一直提示我语法错误。谢谢大神们了

Private Declare Function GETFONTHEX Lib "fnthex32.dll" (ByVal chnstr$, ByVal fontname$, ByVal chnname$, ByVal orient%, ByVal height%, ByVal width%, ByVal bold%, ByVal italic%, ByVal hexbuf$) As Integer

写到我的fameview组态软件中的格式下面这个图片的样子,并没有看出什么不妥,求大神指导,因为是小白,所以并没有太多可以给,谢谢大神们了

...全文
329 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
suiyue_12345 2017-11-16
  • 打赏
  • 举报
回复
@Chen8013 能否请大神赐段源程序,因为没做过这件事,无从下手。我的是64位office
舉杯邀明月 2017-11-16
  • 打赏
  • 举报
回复
你确定你的是“VBscript”吗? 在VBS环境下(VBscript),是不能直接调用API的; 用Declare声明API,只能在 VB/VBA 的环境中使用。 如果想在VBS中使用API,得绕个弯子,通过COM对象来调用。 其一,就是自己用VB6写个ActiveX DLL,这种方法容易实现,可以写成“固定”的(简单,但“不灵活”),   也可以写成“动态的”(接口函数中传入dll名、函数名、参数列表等),实现起来难度要高得多了。 其二,可以用Excel或Word对象、运行“宏”来实现,此法难度稍高,但灵活性极高。   缺点是可靠性却不够高:   ①万一“客户机”没安装Office完整版(精减版COM接口被减掉了),GAME OVER了……   ②安装时把VBA功能支持去掉了(默认是安装此组件的,自定义安装可以去掉,不过“懂”的人一般不会去掉),GAME OVER了……   ③安装的不是32位版本的Office,又GAME OVER了……
舉杯邀明月 2017-11-16
  • 打赏
  • 举报
回复
不知道你想要什么源程序。 也不知道你的这个VBS是自己用,还是“给别人用”。 不管如何,只能用“ActiveX DLL”方式比较靠谱了。 如果是自己用(比如做一些“试验”,搞一些功能测试等),比较好办; 如果要“给别人用”,特别要注意两点: 1. 你的这个dll必须跟你的VBS文件“一起走”。 2. 在VBS代码中,要用“异常捕获”语句结构,检测COM对象是否成功创建;   检测到创建失败时,要提示“用户”以管理员身份运行,进行dll注册(写个注册的bat,跟dll放一起)。 至于ActiveX DLL,安装VB6精减版或企业版都可以。安装好后,新建“ActiveX DLL工程”就行了。 注意创建ActiveX DLL工程时,要“以管理员身份运行”启动VB6,否则不能编译。 因为VB6在编译COM类的工程时,需要注册到你的系统中,没有权限就无法成功注册,也会提示编译出错。 当然目前Win7、Win10的一些Ghost系统,默认就是Admin账号登录系统的了,这种系统中,直接运行VB6就行。 (账号名不是Administrator或Admin的,一定不是; 不是“Ghost系统”的,一定不是) 在新建的ActiveX DLL工程的类模块中,按需要写一个或多个Public的函数(或过程),   在这些“接口函数”中执行相应的API调用就行了。 然后,你可以写个简单的EXE工程,测试一下你的ActiveX DLL的各个接口是否运行正常。 在EXE中测试通过后,就可以试你的VBS代码了。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧