Vba选择cad中不同类型图元(Select Case True语句和like用法)
Select Case True 是一个常见的VBA编程技巧,用于在多个条件之间进行选择。具体来说,Select Case True 语句的每个 Case 语句都包含一个布尔表达式,这些表达式会逐个与 True 进行比较。当其中一个表达式的结果为 True 时,对应的代码块将被执行。Select Case True 示例,每个 Case 语句中的表达式 ent.ObjectName Like "*Line" 和 ent.ObjectName Like "*Circle" 都会返回布尔值 (True 或 False)。Select Case True 将这些布尔值与 True 进行比较,并执行匹配的代码块。
我们选择图形空间中第一个图元:
Dim ent As AcadEntity
Set ent = ThisDrawing.ModelSpace.Item(0)
' 不区分大小写的匹配
Select Case LCase(ent.ObjectName)
Case "acdbline"
MsgBox "This is a Line"
Case "acdbcircle"
MsgBox "This is a Circle"
Case Else
MsgBox "This is some other type of object"
End Select
Select Case True
Case ent.ObjectName Like "*line"
MsgBox "This is a Line"
Case ent.ObjectName Like "*circle"
MsgBox "This is a Circle"
Case Else
MsgBox "This is some other type of object"
End Select
'(InStr 函数)
If InStr(1, ent.ObjectName, "Line", vbTextCompare) > 0 Then
MsgBox "This is a Line"
ElseIf InStr(1, ent.ObjectName, "Circle", vbTextCompare) > 0 Then
MsgBox "This is a Circle"
Else
MsgBox "This is some other type of object"
End If
如果你不指定 compare 参数,InStr 默认区分大小写。使用 vbTextCompare 参数可以使 InStr 不区分大小写。以下是代码以及解释:Dim ent As AcadEntity
Set ent = ThisDrawing.ModelSpace.Item(0)
Select Case True
Case ent.ObjectName Like "*Line"
MsgBox "This is a Line"
Case ent.ObjectName Like "*Circle"
MsgBox "This is a Circle"
Case Else
MsgBox "This is some other type of object"
End SelectSelect
Case True:启动一个 Select Case 结构,将每个 Case 表达式的结果与 True 进行比较。Case ent.ObjectName Like "*Line":如果 ent.ObjectName 包含 "Line",则此表达式为 True,将执行 MsgBox "This is a Line"。Case ent.ObjectName Like "*Circle":如果 ent.ObjectName 包含 "Circle",则此表达式为 True,将执行 MsgBox "This is a Circle"。Case Else:如果前面的条件都不满足,将执行 MsgBox "This is some other type of object"。
注意事项
通配符匹配:Like 运算符允许使用通配符进行匹配。星号 (*) 匹配零个或多个字符,问号 (?) 匹配单个字符。在你的代码中,*Line 和 *Circle 都是合法的用法。大小写敏感:Like 运算符在VBA中默认是不区分大小写的。所以即使 ObjectName 的值是 "acdbLINE" 或 "ACDbcircle",你的匹配依然会成功。
相关文章:
Vba选择cad中不同类型图元(Select Case True语句和like用法)
Select Case True 是一个常见的VBA编程技巧,用于在多个条件之间进行选择。具体来说,Select Case True 语句的每个 Case 语句都包含一个布尔表达式,这些表达式会逐个与 True 进行比较。当其中一个表达式的结果为 True 时,对应的代码…...
Kafka基本讲解
Kafka基本讲解 一:Kafka介绍 Kafka是分布式消息队列,主要设计用于高吞吐量的数据处理和消息传输,适用于日志处理、实时数据管道等场景。Kafka作为实时数仓架构的核心组件,用于收集、缓存和分发实时数据流,支持复杂的…...
thinkphp6项目初始化配置方案二次修正版本
数据返回统一格式 app/BaseController.php新增文件内容在末尾,并在构造函数中实例化数据模型类 // 成功统一返回格式 function Result($data, $msg , $code 200, $httpCode 200): \think\response\Json {$res [code > $code,msg > $msg,data > $data];return j…...
XXE靶机教学
arp-scan -l主机发现 arp-scan -l 端口扫描 nmap -p- 192.168.48.139 服务探测 nmap -p80,5355 -sT -sC -sV 192.168.48.139 目录扫描 dirsearch -u http://192.168.48.139 访问robots.txt 发现两个可访问路径 burp抓包 测试是否存在xxe漏洞 <?xml version "1.…...
干货 | 2024步入数字化转型深水区,云原生业务稳定性如何保障(免费下载)
云原生业务的稳定性保障是一个涉及多个层面的复杂任务,以下是一些关键措施和策略,以确保云原生业务的高效稳定运行: 一、平台安全性评估与加固 云原生平台安全评估:对云原生平台(如Kubernetes、Docker等)…...
for(char c:s),std::vector<int> numbers 和std::int numbers[],.size()和.sizeof()区别
在C中当需要对某个容器或数组进行遍历时我们可以使用以下语句,c将会被赋值为s中的元素 for(char c:s)://s可以是任何满足条件的容器或数组for(int c:s):for(double c:s):for(float c:s):在C中我们来区分std::vector numbers {1, 2, 3, 4, 5};和std::int numbers[] …...
桌面云备份可以删除吗?安不安全
桌面云备份可以删除吗?答案是可以的。如果用户不需要这些备份或者想要释放存储空间,桌面云备份是可以进行删除的,并且删除桌面云备份是一个相对安全的过程,但需要注意以下几点来确保操作的安全性和数据的完整性。 一、桌面云备份…...
【爬虫实战】利用代理爬取电商数据
文章目录 前言工具介绍实战获取网站数据编写代码数据展示 推荐总结 前言 当今电商平台正经历着快速的转型与升级。随着技术的进步和用户需求的多样化,电商不仅从简单的在线购物演变为综合性的购物生态系统,还融合了人工智能、大数据和云计算等先进技术。…...
python如何统计列表中元素出现的次数
在 Python 中,可以使用多种方法来统计列表中元素出现的次数。以下是一些常用的方法: 方法 1: 使用 count() 方法 list 对象有一个内置的 count() 方法,可以直接统计某个元素在列表中出现的次数。 my_list [1, 2, 3, 2, 1, 4, 2] count_of…...
【算法】山脉数组的峰顶索引
难度:中等 题目描述: 给定一个长度为 n 的整数 山脉 数组 arr ,其中的值递增到一个 峰值元素 然后递减。 返回峰值元素的下标。 你必须设计并实现时间复杂度为 O(log(n)) 的解决方案。 示例 1: 输入:arr [0,1,0]…...
牛客 JZ31.栈的压入,弹出序列 C++写法
牛客 JZ31.栈的压入,弹出序列 C写法 思路🤔: 创建一个栈,push压入序列,然后用栈顶跟弹出序列比,如果一样就出栈并且继续比较,不一样就再次push入栈,直到压入序列走完,如果…...
PageHelper在Mybatis的一对多表关联时total数错误
最近在学习PageHelper遇到一个bug记录一下: 在Mybatis的一对多表中,PageHelper获取的total是所有的记录数,而不是我想要的第一次sql的记录数。 解决方案1: 不要在mapper层获取一对多关联,在service层先获取一&#…...
(20240806)硫氧镁 / 碱式硫酸镁-混凝土
一、目录 一篇博士论文,5篇硕士论文,南京航空航天大学双一流211,60。余红发团队 具体涉及到 (1) 碱式硫酸镁水泥的混凝土应用 、(一篇博士论文) 有微观分析 (2)混…...
string类的模拟实现(C++)
一、前言 想要模拟实现一个库中的类,那就要首先要熟悉如何使用这个类。建议通过下面博客,完成对Cstring类的学习。 C的string类-CSDN博客 二、模拟实现 我们将从string的成员函数即成员变量入手,模拟实现string类。 成员变量 string类的…...
C++_sizeof的相关知识点
1.指针的大小永远是固定的,取决于处理器位数,32位就是 4 字节,64位就是 8 字节 2.数组作为函数参数时会退化为指针,大小要按指针的计算 int func(char array[]) {printf("sizeof%d\n", sizeof(array));printf("s…...
Istio Proxy的Envoy代理架构中,Upstream提供的功能是:
Istio Proxy的Envoy代理架构中,Upstream提供的功能是: A. 接收来自Envoy连接和请求的主机,并返回响应 B. 连接的一组逻辑相同的上游主机 C. 将下游主机连接到Envoy的主机,用来发送请求并接受响应 选择A Istio Proxy的Envoy代理架…...
LeetCode 热题 HOT 100 (015/100)【宇宙最简单版】
【栈】No. 0155 最小栈【中等】👉力扣对应题目指路 希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持! …...
【HarmonyOS】鸿蒙应用实现截屏
【HarmonyOS】鸿蒙应用实现截屏 组件截屏 通过componentSnapshot的get函数,将需要截图的组件设置id传进去即可。 import { componentSnapshot } from kit.ArkUI; import { image } from kit.ImageKit;/*** 截图*/ Entry Component Preview struct SnapShotPage {S…...
Conda包依赖侦探:conda inspect命令全解析
Conda包依赖侦探:conda inspect命令全解析 在Conda环境中,管理包及其依赖关系是一项重要任务。conda inspect命令是一个强大的工具,它可以提供包的详细信息,包括依赖关系、链接、版本等。这对于诊断环境问题、理解包的依赖结构以…...
数模——灰色关联分析算法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 一、基本概念了解 1.什么是灰色系统? 2.什么是关联分析? 二、模型原理 三、建模过程 1.找母序列(参考序列&am…...
从“词元”到“符元”:Token中文定名的再思考——以概念精确性与长期稳定性为视角
近日,全国科学技术名词审定委员会发布公告,推荐将人工智能领域中的“Token”译为“词元”,并面向社会试用。随后,《人民日报》发文《专家解读token中文名为何定为“词元”》,对这一命名从专业角度进行了系统阐释。文中…...
终极指南:如何快速解决AI绘图中的维度冲突:3种实用方案指南
终极指南:如何快速解决AI绘图中的维度冲突:3种实用方案指南 【免费下载链接】ComfyUI-BrushNet ComfyUI BrushNet nodes 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-BrushNet 在AI图像生成领域,ComfyUI BrushNet作为一款强…...
算法与心智的双重反噬:为何亚马逊品牌延伸会“污染”搜索标签与用户预期
大众汽车的兴衰史,是品牌定位与延伸战略的经典悲剧,其在亚马逊的商业战场上有着精确的映射。一个品牌凭借极致聚焦的定位(如“微型车”)获得巨大成功,在消费者心智和平台算法中注册了清晰的“价值标签”;然…...
太阳能电池缺陷检测数据集:2624张电致发光图像的高性能AI训练基准
太阳能电池缺陷检测数据集:2624张电致发光图像的高性能AI训练基准 【免费下载链接】elpv-dataset A dataset of functional and defective solar cells extracted from EL images of solar modules 项目地址: https://gitcode.com/gh_mirrors/el/elpv-dataset …...
D4案例2 Nginx/Java服务自定义镜像部署及(NAS/NFS文件存储)动静分离实现
D4案例2 Nginx/Java服务自定义镜像部署及(NAS/NFS文件存储)动静分离实现 第一步:重新创建干净的命名空间 kubectl get namespace linux36 -o json | jq .spec.finalizers=[] | kubectl replace --raw /api/v1/namespaces/linux36/finalize -f - kubectl delete deploy -n linu…...
消费增值积分单边上扬软件源码开发
消费增值积分单边上扬系统开发要点消费增值积分单边上扬系统是一种通过消费行为累积积分,并确保积分价值稳定上升的商业模式。以下是开发此类系统的关键要点:系统架构设计 采用微服务架构分离核心模块,积分管理模块独立部署确保高可用性。数据…...
ESPS USB MSC 调试全过程记录岸
背景 在软件开发的漫长旅途中,"构建"这个词往往让人又爱又恨。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。 在很多项目中…...
别再用LangChain搭生产系统了!2026 AI原生研发栈迁移窗口期仅剩137天——新一代轻量Agent Runtime选型白皮书
第一章:LangChain在生产环境中的结构性缺陷与技术债全景图 2026奇点智能技术大会(https://ml-summit.org) LangChain自发布以来以“快速原型构建”见长,但其核心抽象层——Chain、Agent、Tool、Memory——在高并发、低延迟、可观测性与模块契约一致性等…...
专业级Minecraft世界数据恢复实战指南:Region Fixer深度解析与最佳实践
专业级Minecraft世界数据恢复实战指南:Region Fixer深度解析与最佳实践 【免费下载链接】Minecraft-Region-Fixer Python script to fix some of the problems of the Minecraft save files (region files, *.mca). 项目地址: https://gitcode.com/gh_mirrors/mi/…...
稳压二极管、TVS、ESD静电管的区别和应用场景
稳压二极管 也叫齐纳二极管,它的设计初衷就是用来稳压的。什么叫稳压?就是你给它一个变化的输入电压,它能在一定范围内给你输出一个相对固定的电压。 咱们看一下它的工作方式。稳压二极管是工作在反向击穿区的。当你给它加反向电压࿰…...
