文章目录

  • 问题引入
  • 思路
  • 效果
  • 参数
  • 实现

问题引入

制作可燃气体检测报警系统气体探头(即气体检测报警仪)位号标签

思路

  1. 创建艺术文本对象,填入字符。连续编号用遍历循环即可,Format函数加前导零。亦可通过读取Office对象(Excel)中的内容提取需要填入的位号,时间有限,本文不做探讨。后续在《VBA实例4 Excel隐患排查治理台账》详细讲解。
  2. 根据组合所在行列调整水平位置和垂直位置。
  3. 同样的思路也可用于反应釜位号、仪表位号等批量创建。

效果


懒得插视频了,视频审核万把年……

参数

主要用到Layer.CreateArtisticText方法

Function CreateArtisticText(Left As Double, Bottom As Double, Text As String, [LanguageID As cdrTextLanguage = cdrLanguageNone], [CharSet As cdrTextCharSet = cdrCharSetMixed], [Font As String], [Size As Single], [Bold As cdrTriState = cdrUndefined], [Italic As cdrTriState = cdrUndefined], [Underline As cdrFontLine = cdrMixedFontLine], [Alignment As cdrAlignment = cdrMixedAlignment]) As Shape
VGCore.Layer 的成员
Creates artistic text on a layer
参数 描述 默认值
Left 指定左边水平位置 默认值为0
Bottom 指定底部垂直位置 默认值为0
Text 指定艺术文本的内容 需填入的文本内容
LanguageID 指定的语言 可选,默认值为cdrLanguageNone(0)
CharSet 指定字符集。 可选,默认值为cdrCharSetMixed(-1)
Font 指定字体 可选,CDR默认字体
Size 指定字体大小 可选,默认值为0
Bold 指定是否应用粗体 可选,默认值为cdrUndefined(-2)
Italic 指定是否应用斜体 可选,默认值为cdrUndefined(-2)
Underline 指定要应用的下划线 可选,默认值为cdrMixedFontLine(7)
Alignment 指定对齐 可选,默认值为cdrMixedAlignment(6)

实现

Function drawOne(x0 As Double, y0 As Double, i As String) As ShapeDim s1 As Shape, s2 As Shape, s3 As Shape, s4 As ShapeDim cm As Doublecm = 1 / 2.54Set s1 = Application.ActiveLayer.CreateArtisticText(x0, y0 + 59.2 * cm, "100", _Font:="Times New Roman", Size:=24, Bold:=cdrTrue)Set s2 = Application.ActiveLayer.CreateArtisticText(x0, y0 + 55.7 * cm, "气体报警器", _Font:="SimHei", Size:=30, Bold:=cdrTrue)Set s3 = Application.ActiveLayer.CreateArtisticText(x0, y0 + 52.2 * cm, i, _Font:="Times New Roman", Size:=24, Bold:=cdrTrue)Set s4 = Application.ActiveLayer.CreateRectangle(x0, y0 + 60 * cm, x0 + 2.5 * cm, y0 + 52 * cm)Application.ActiveDocument.CreateShapeRangeFromArray(s1, s2, s3, s4).AlignAndDistribute 3, 0, 0, 0, False, 2Set drawOne = s2
End FunctionSub draw_one()Dim s2 As Shape, arr(), count As Integer, shp As ShapeSet s2 = drawOne(0, 0, "01")ReDim Preserve arr(count)arr(count) = s2.ZOrderFor Each shp In ThisDocument.ActiveLayer.ShapesDebug.Print shp.StaticIDDebug.Print shp.ZOrderThisDocument.ActiveLayer.Shapes(shp.ZOrder).CreateSelectionNext shpActiveLayer.CreateArtisticText LeftThisDocument.ActiveLayer.Shapes.All.CreateSelection
End SubSub drawMore()Dim s2 As Shape, arr(), count As Integer, shp As ShapeDim idx, curRow, curColDim x As Double, y As Double, i As String, cm As DoubleDim startTime As Single, endTime As SinglestartTime = Timercm = 1 / 2.54For idx = 1 To 40x = curCol * 5 * cmy = curRow * -10 * cmi = Format(idx, "00")Debug.Print iSet s2 = drawOne(x, y, i)ReDim Preserve arr(count)Set arr(count) = s2count = count + 1If (idx Mod 10) = 0 ThencurRow = curRow + 1curCol = 0ElsecurCol = curCol + 1End IfNext idxThisDocument.CreateShapeRangeFromArray(arr).CreateSelectionendTime = Timer - startTimetempString = "Create all shapes successful." & vbCrLf & _"It takes " & Format(Timer - startTime, "0.000") & " seconds."ThisDocument.ActiveWindow.ActiveView.ToFitAllObjectsMsgBox tempString, Title:=Now()'    Call deleteAll
End SubSub deleteAll()ThisDocument.ActiveLayer.Shapes.All.CreateSelectionThisDocument.Selection.Delete
End Sub

VBA实例6 CorelDraw 批量生成设备位号、连续编号相关推荐

  1. Excel VBA实例39 - 一键批量查询基金信息、基金净值

    大家好,我是永恒君! 最近和朋友交流了一下投资理财的信息,都谈到会想要配置部分基金,那首先自然是要了解一下基金的基本情况. 大部分的朋友查询基金的信息,都会在东方财富网上面进行查看,信息非常的全面. ...

  2. 【Python实例分析】批量生成海报--自动添加姓名和二维码

    最近参加了老男孩的一个python训练营,里面某项任务是要求在某个海报模板上批量添加姓名和二维码,生成类似下图的海报. 图中我用红色方框标记的是需要修改的地方,先来聊下自己的思路: 1.要进行图片操作 ...

  3. vba根据内容调整word表格_【邮件合并】不会VBA也能批量生成Word封面

    一.『问题引入』: 手里有一个这样的Excel表格,还有一个Word文档模板.我们要把这个Excel表格中的信息依次写到Word模板.一行Excel信息生成一页文档. 存储信息的Excel表格 需要填 ...

  4. shell脚本执行php文件_分享两个shell脚本实例--批量生成随机字符文件名和批量改名...

    概述 在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行. 它跟其他的循环,如while循环,最大的不同,是它拥有一个循环计数器,或是循环变数.这使得 ...

  5. sql 关联使用id还是code_R语言实例:用glue批量生成SQL语句

    背景 在数据开发中,有些情况下,需要手动生成批量SQL,只需改变某个参数,比如日期,从某天到某天. 之前有一个实例,是用 stringr::str_replace_all() 去实现,这次就用 glu ...

  6. 使用VBA生成设备调拨单

    处理完成资产核对以后,需要手工生成调拨单,就是资产表上的设备在别的单位,那么就应该生成设备调拨单. 这个工作简单,但是单位多的话,比如30个单位就可能有900张的设备调拨单,手工处理起来还是很费精力. ...

  7. python编码尺寸_基于Python批量生成指定尺寸缩略图代码实例

    这篇文章主要介绍了基于Python批量生成指定尺寸缩略图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近我们商城上架的应用越来越丰富了. ...

  8. Excel的简单Word报告批量生成 vba笔记 (一)

    批量生成Excel的简单Word报告/vba/录制宏 Sub piliangshengcheng() Set dd = CreateObject("excel.application&quo ...

  9. python批量生成word_实例5:用Python批量生成word版邀请函

    每到年终时,公司都要举办年会,总结当年的得失.还有就是组织个晚会,表演些节目,抽奖......当然,还有,赏大餐一顿.人事部的妹子这时就发愁了,忙碌地进行各种准备不说,还要给供应商,政府部门发邀请函. ...

  10. mysql 全局不重复_如何批量生成MySQL不重复手机号大表实例代码

    前言 在MySQL很多测试场景,需要人工生成一些测试数据来测试.本文提供一个构造MySQL大表存储过程,可以生成包含用户名,手机号码,出生日期等字段.也可以通过滤重来使得手机号码不重复,模拟现实场景. ...

最新文章

  1. 6月28日 cf总结
  2. 定义EditPlus 语法文件详解
  3. HDB3的matlab编译码
  4. 常见.Net 英文专业词汇收集
  5. 两个有序链表序列的交集 (20分)(最佳解法)
  6. html pc端万年历插件,# pc端个性化日历实现
  7. 计算机二级证书在学校哪里领取,计算机二级证书去哪里领取
  8. hibernate+struts2整合jar包冲突
  9. CRM系统助家具企业华丽转身
  10. RabbitMQ负载均衡
  11. 男子花41万买手镯,被店员议论“买不起” 气到要住院
  12. 信息安全意识分享—电子邮件安全
  13. 李丰新年展望 | 一张图看清2020中国机会
  14. EXCEL完成一个柱形图与折线图组合图表
  15. S7-PLCSIM与WINCC 通讯【工控老鬼】
  16. 【Python相关】PyCharm如何修改行注释颜色
  17. STM32三菱FX1N,FX2N,FX3U,PLC方案 可以直接上传下载梯形图,在线监控,具有称重功能,数码管功能,可以做到10路模拟量
  18. 条件EK02在定价过程中丢失
  19. leetcode125.验证回文串
  20. 进销存系统和ERP系统怎么选?有什么区别?

热门文章

  1. 51单片机贪吃蛇程序
  2. 测试吃鸡游戏帧数软件,帧数暴涨10%+ RX 560D开核“吃鸡”测试
  3. PingCAP,中国第一只开源独角兽总融资达3.4亿美元,不能错过的开源深度解析
  4. Hive教程(08)- JDBC操作Hive
  5. 电缆桥架安装要求及规范指导
  6. 天猫魔盘显示无法连接到服务器,天猫魔盘变身USB无线网卡设置图文教程详解
  7. 惊艳!用 Python 送女神们别样的礼物!
  8. hustoj搭建教程
  9. html添加js的代码注释,JavaScript 注释方法总结
  10. bochs的安装和配置