VB ExeCuteLine

VB6 执行String语句 首先:Imports System.Runtime.InteropServices 然后: 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 ' <DllImport("VBA6.DLL", EntryPoint:="EbExecuteLine", SetlastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> Public Shared Function EbExecuteLine(ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long '<DllImport("D:\vba6.dll", CharSet:=CharSet.Ansi, SetlastError:=True)> Public Shared Function EbExecuteLine(ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long 'End Function '<DllImport("vba6.dll", CharSet:=CharSet.Ansi, SetlastError:=True)> 'Public Shared Function EbExecuteLine(ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long 'End Function '定义StrPtr函数,实现获取字符串地址功能 Private Function StrPtr(ByVal e As Object) As Int32 Dim GC As System.Runtime.InteropServices.GCHandle = System.Runtime.InteropServices.GCHandle.Alloc(e, System.Runtime.InteropServices.GCHandleType.Pinned) Dim GC2 As Int32 = GC.AddrOfPinnedObject.ToInt32 GC.Free() Return GC2 End Function Function ExecuteLine(ByVal sCode As String, Optional ByVal fCheckOnly As Boolean = True) As Boolean ExecuteLine = EbExecuteLine(StrPtr(sCode), 0, 0, 0) End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim dm() As String Dim i As Long dm = Split(TextBox.Text, ";") For i = 0 To UBound(dm) If Len(dm(i)) <> 0 Then Dim Result As Boolean Result = ExecuteLine(dm(i)) If Result = False Then Debug.Print(i + 1 & vbTab & "行执行错误") Else Debug.Print(i + 1 & vbTab & "行代码错误") End If Next End Sub 立即下载
AI摘要

本文介绍了一种在VBA环境中通过简单函数实现字符串作为代码执行的方法。这种方法能显著提升程序的灵活性,但也可能增加编码复杂度。文章给出了具体示例,如通过此函数弹出消息框。

这段代码是我无意中在网上发现的,虽然代码很短,但其所实现的功能却是很强大的.有了这个函数的帮助可以使我们程序的灵活性大大的提升,但编码难度会有一定提高,所以请慎用.

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


ExecuteLine 
"VB 命令"

这个函数可以把一个字符串当做VB代码并执行.

例如

ExecuteLine "MsgBox ""Hello World"" "

国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

相关推荐

保姆级教程:在LKD3588开发板上为RK3588添加SC2210摄像头驱动(含完整DTS配置)

本文提供了一份详细的教程,指导如何在LKD3588开发板上为RK3588处理器添加SC2210摄像头驱动,包括完整的DTS配置和内核编译步骤。教程涵盖了环境准备、驱动文件添加、DTS配置详解、内核编译与烧录、驱动测试以及常见问题排查,帮助开发者快速实现SC2210传感器在RK3588平台上的集成与优化。

weixin_42641741的博客 479

学习笔记,VB6语言脚本解释器

关键字: VB 脚本  作者:董含君本文介绍的是最简单的办法,要求不高仅仅执行部分代码如果想使用更加完全的功能需要的是Micrsoft Script Control请参考叶帆达人的文章VBScript脚本运用(脚本程序与宿主程序的交互) http://blog.youkuaiyun.com/yefanqiu/archive/2004/10/15/137928.aspxVBScript脚本运用 http://w

a11s的笔记 2227

简单的服务器取证

记一次入门服务器取证——药品直销网,涵盖旧版本宝塔、静态IP的配置更改、代码的理解

m0_74559567的博客 3756

快速计算字符串表达式的值!

  在很多情况下,我们需要计算一个字符串表达式的值,比如由用户指定函数,然后做出这个函数的曲线,再如,用最速下降法编写求函数最大最小值的程序等等,这些程序由于要具有一定的通用性,函数表达式的一般都是由用户后期指定的 ,并且在代码的处理过程中会经常计算在不同变量值情况下函数的值,因此,我们不可以把函数表达式固化在程序中,只能利用相关的脚本或函数进行计算。       在优快云的VB论坛中,每当

ssihc0的专栏 1254

Ollama本地大模型部署指南:从核心原理到实战避坑

大语言模型(LLM)作为人工智能领域的核心技术,通过海量数据训练获得强大的语言理解和生成能力。其工作原理基于Transformer架构,通过自注意力机制处理序列数据,在文本生成、代码编写和对话系统等场景展现出巨大价值。随着开源模型的普及,本地部署成为关注焦点,它解决了数据隐私和定制化需求,但面临环境配置和资源管理的挑战。Ollama作为开源工具,通过封装模型格式和统一API,简化了本地部署流程,支持GPU加速和性能调优,让开发者能够快速集成到IDE和自动化脚本中,实现高效的本地AI应用部署。

weixin_30915951的博客 451

EPSON RX8010SJ RTC实战:I2C寄存器配置避坑指南(附完整初始化代码)

本文详细解析了EPSON RX8010SJ RTC芯片在I2C寄存器配置中的常见问题与解决方案,包括TEST位、STOP位和中断控制等关键配置要点。通过实战经验分享和完整的初始化代码模板,帮助开发者避免常见陷阱,确保RTC模块的稳定运行。

weixin_28678831的博客 406

谈谈如何象VB IDE的Immediate一样不使用工程,可以单独执行代码片断

有时我可能需要不使用VB的IDE,也不需要建立VB工程而单独执行一段VB代码,比如在我的程序中计算一个表达式,预览一下某个VB内部的函数,而用户想要执行的代码又是不确定的,这样很难用程序控制,因此我们可以直接调用VBIDE的解释功能,随便用户输入什么,只要是有效的就可以正常运行,以上只是我的想法,技术是这个,但是具体使用这么用那就看使用者的意图了.其实实现很简单,只需要调用一个APIPri

道素的专栏 1255

Jetson Nano 【1】入手开箱、烧系统

类似于半开箱哈哈 怀着小期待的心情,屁颠屁颠跑到村口领快递,拿到了这个香喷喷的Jetson Nano 开发板 开箱: 由于太激动了忘记拍点啥,于是在最后留了张全家福 板子的结构: 我觉得这个有必要记录一下,于是去官方文档拿了张图来:官方文档传送 1=SD card 的卡槽,位于第二层板子的背部,也就是大风扇屁股位置 2=40针扩展接头(还没开用) 3=USB的供电口,根据大佬测试(某哩...

椰子奶糖的博客 4194

VB是如何发明的。Ruby + EB = Visual Basic

微软决定改变 Ruby 的本质:将易于构建可视化界面的概念(“在必要时绘制一个按钮并快速附加一些动作”)从一个用于创建具有目标的可视化外壳(在现有程序之上)的工具由普通用户组成的受众,将其转变为创建具有可视化界面的新程序的工具,其目标受众将只是程序员。因此,正如您从文章的文本中看到的那样,在某些时候需要用更高级的东西替换 Excel 中糟糕的宏语言,这导致了一个事实,即押注于类似基本的语言,并基于开发在另一个用于创建面向对象的基本类语言的部门, )的分界线没有溶解,这两种成分都没有融合到无法区分的程度。

1690

JAVA:Spring Boot 集成 Baidu UID-Generator ID 生成器

百度UID-Generator是一款高性能分布式ID生成器,支持600万QPS,提供Snowflake扩展版和Cache模式两种实现方式。文章详细介绍了如何在Spring Boot项目中集成该组件,包括Maven依赖配置、MySQL表结构初始化、Spring Boot数据源配置、WorkerId分配策略实现以及UID生成器的核心配置。该方案具有无中心依赖、ID单调递增、支持集群部署等特点,适用于订单号、用户ID等分布式场景。通过缓存模式(Cache-Buffer)可进一步提升性能,满足高并发业务需求。

木头 487

Echarts - 去掉图表上的横线和竖线

效果图 默认效果: 变为如下图所示效果: 实现方法 官方配置文档:https://echarts.apache.org/zh/option.html#radar.splitLine 在 xAxis yAxis 配置中分别加入以下代码: splitLine: { show:false }

🏆 前端领域优质创作者 1万+

VB执行VB

Public Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongPublic Function ExecuteLine(sCode

yas的专栏 1033

【定位模块算法】amcl(蒙特卡洛)粒子滤波定位算法(附C++代码)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言(1)amcl定位框架介绍(2)amcl定位框架组成(1)ROS-TF坐标转换树【ROS的工具】(2)robot_pose_ekf扩展卡尔曼位姿估计算法(3)定位amcl自适应蒙特卡洛定位,adaptive monte carlo localizaion**(3)amcl定位节点的订阅与发布(4)amcl定位功能包用法(1)编写amcl节点相关的launch(amcl_omni.l

qq_35635374的博客 4402

如何象SQL语句中的Exec那样在VB中执行一段代码?

利用API引用vb6a.dll(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)可以实现字符串命令的...

weixin_30677617的博客 94

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

如何在Vs.net环境中自动生成Visio图

如何在Vs.net环境中自动生成Visio图 摘要:本文介绍了如何在VS.Net环境中,结合VBA编写Visio应用程序,来实现自动绘制Visio图的方法和过程。关键字:VS.Net;VBA;程序;自动生成;Visio图。中图法分类号: TP309                      文献标识码:A1.   业务需求在日常工

glumtree的专栏 2369

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

让 VB 执行自定义字符串代码的 API 函数。

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

铁拳的 Blog 5985

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

谈谈如何象VB IDE的Immediate一样不使用工程,可以单独

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 552

VB6 执行字符串命令(VB代码)

Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongFunction StepLine(ByVal cmd A

鞠勇鸿的技术专栏 5164

VB中Execute的用法

VB中Execute是指ADO命令之一:Execute 方法。 Execute 方法,执行在 CommandText 属性中指定的查询、SQL 语句或存储过程。 语法 对于按行返回的 Command: Set recordset = command.Execute( RecordsAffected, Parameters, Options ) 对于不按行返回的 Comma

autumn20080101的专栏 8397

VB ShellExecute 函数应用

ShellExecute 声明: Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hWnd As Long, ByVal lpOperation As String, _  ByVal lpFile As String, ByVal lpParameters As

2777
上一篇: VB打开一个以字符串命名的窗体
下一篇: 李翊 先吞噬后反刍,擒贼擒王--java之我注六经之二
PL_Leaf
博客等级 码龄20年 1粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值