fengyelin 发表于 2023-8-18 12:04:38

joyar 发表于 2023-8-18 11:48
生成好的数字,,调整文字大小,,是以左下角为准的,,如何以居中形式修改文字大小 ...

用魔镜这个功能`如果你没装魔镜就到网上几块买个低配版的就有,或者用楼上兄台那代码

joyar 发表于 2023-8-18 12:27:03

fengyelin 发表于 2023-8-18 12:31:02

joyar 发表于 2023-8-18 12:27
明白了,,理解怎么去玩了。。

这个代码其实对平时工作很少用到,适合给拼图做标记,这样位置不会乱,或者队列做标记

vipjm 发表于 2023-8-18 13:45:18

fengyelin 发表于 2023-8-18 12:31
这个代码其实对平时工作很少用到,适合给拼图做标记,这样位置不会乱,或者队列做标记 ...

是的,就是大小不一的这个就是对应号去放上去。

vipjm 发表于 2023-8-18 14:27:05

jiangyu 发表于 2023-8-18 08:44
Sub CreateArtisticTextInCenter()

Dim s As Shape


兄弟能不能直接弄成一个gms,相信有很多人一样跟我不懂代码。给我们代码我们不会弄成按键呀。

jiangyu 发表于 2023-8-19 09:36:20

本帖最后由 jiangyu 于 2023-8-19 09:40 编辑

vipjm 发表于 2023-8-18 14:27
兄弟能不能直接弄成一个gms,相信有很多人一样跟我不懂代码。给我们代码我们不会弄成按键呀。 ...
这个插件没有使用窗体,只是一个单功能,使用时可以拖到菜单栏作为单独按钮,也可设置快捷键一键操作。使用2022.5版本cdr制作,应该不兼容X4等低版本,下面附上源码,使用X4的朋友可以自行拷贝到VBA中制作插件。
该插件是使用默认字体与字号生成文本,文本填色为文档默认填色。可以先修改文档默认字体与字号再使用该插件,可以一次性制作完成。修改默认字体字号的方法是按F8后修改字体或字号,在弹出窗口中选择美术字并确认。

Sub 编号()
ActiveDocument.BeginCommandGroup "编号"

Dim s As Shape

Dim i As Integer


i = 1

' 遍历选中的形状
For Each s In ActiveSelectionRange
    ' 获取形状的中心坐标
    Dim centerX As Double
    Dim centerY As Double
   
    centerX = s.centerX
    centerY = s.centerY
   
    ' 创建艺术字形状,并设置文本内容为数字
    Dim textShape As Shape
    Set textShape = ActiveLayer.CreateArtisticText(centerX, centerY, i)
   
    If textShape.SizeWidth > s.SizeWidth * 0.85 Then
    textShape.SizeWidth = s.SizeWidth * 0.85
    End If

    textShape.centerX = s.centerX
    textShape.centerY = s.centerY

i = i + 1

Next s
ActiveDocument.EndCommandGroup
End Sub


这是放在模块里面的:
新建一个模块,复制进去就可以了。

vipjm 发表于 2023-8-19 10:08:43

jiangyu 发表于 2023-8-19 09:36
这个插件没有使用窗体,只是一个单功能,使用时可以拖到菜单栏作为单独按钮,也可设置快捷键一键操作。使 ...

刚测试了,序码全部居中了。

vipjm 发表于 2023-8-19 16:49:54



如果不同的图形,它的序号就有点乱了。从左往右的规则好像有点乱了。

fengyelin 发表于 2023-8-19 17:09:59

vipjm 发表于 2023-8-19 16:49
如果不同的图形,它的序号就有点乱了。从左往右的规则好像有点乱了。
...

这个代码是依照你图形创造的时间顺序,没有加入z排列

vipjm 发表于 2023-8-19 17:17:51

哦,原来这样,明白。。。。。。
页: 1 [2] 3
查看完整版本: cdr页面图形增加编码数字编号脚本插件