coreldrawvba吧
关注: 50 贴子: 171

CorelDRAW VBA 插件开发技术交流

  • 1
    Private Sub cb_AddCharSpacing_Click() '字间距、行间距各加100 Dim s As Shape Set s = ActiveShape s.text.Story.CharSpacing = s.text.Story.CharSpacing + 100 s.text.Story.LineSpacing = s.text.Story.LineSpacing + 100 set s = Nothing End Sub
    刘甫冰 4-20
  • 1
    各位大神好:麻烦问一下,有没有方法在CDRVBA的状态 查找和替换CDR页面里的文字  或者用VB数据库的形式操作CDR页面里的内容 
    Zebe 4-12
  • 17
    谈一谈我对VBA学习的认识和理解,以及提高VBA编程能力的方法。 欢迎大家一起来探讨,共同分享学习心得。
  • 0
    有没有人会写智能群组或结合功能啊?自动判断中文英文,自动将每一个字的笔画组合到一起,准确率要求百分之九十九以上的方法?求大神指点
  • 3
    '======================================================================== '过程名称:打印全部菜单ID(用于自动化调用) '======================================================================== Public Sub listMenuItemIDs() On Error Resume Next Dim cmdbar, ctl For Each cmdbar In FrameWork.CommandBars Debug.Print cmdbar & "工具栏下面的菜单项:" For Each ctl In cmdbar.Controls Debug.Print vbTab & ctl.ID & " -> " & ctl.Caption Next Next End Sub 拿到ID后,就可以通过自动化框架提供的方法来调用指定的菜单,
  • 5
    主要是用来获取一个页面边框范围内的所有图形,在页面边框外的则排除。 参数 p:指的是某个页面。 返回类型为形状集合(Shapes)。 Public Function getShapesInPageInside(p As Page) As Shapes Set getShapesInPageInside = Nothing If Not p Is Nothing Then Dim sh As Shape Set sh = p.SelectShapesFromRectangle(p.LeftX, p.TopY, p.RightX, p.BottomY, False) Set getShapesInPageInside = sh.Shapes End If End Function
  • 1
    CORELVBA对coreldraw的工作无疑带来很大的帮助,但是,微软提供了更好的工具vsta(visual studio tools for Applications),支持vb.net c#.net编程,如果只是无聊玩一下,请移步vba就好。如果看长远,还是vsta好,下面贴一个我的vsta做的插件截图。
    Zebe 1-12
  • 1
    比如线段的起点,终点。长方形的四个角?
    Zebe 12-8
  • 6
    请问批量证卡怎么写?有参考码或者教程吗?
  • 2
    就是像发布PDF一样,无论图内对象大小是否超出页面尺寸或是不足,都按照页面尺寸来发,然后将代码嵌入官方自带的file converter,实现批处理
    Zebe 10-13
  • 3
    哪位大佬知道cdr中vba编辑器输入中文乱码怎么解决呢?
  • 1
    淘气的字母大写总变小写 没有什么是一串代码解决不了的。 Sub 小写字母转大写() Dim t As Shape, s1 As Text Set t = ActiveShape Set t1 = s.Text t1.Story.Characters.All.Case = cdrAllCapsFontCase End Sub
  • 10
    有时候,需要在指定的文档或页面中,找到符合条件的形状对象。例如:找到所有宽度等于 201mm 并且为红色填充的矩形。除了使用普通的VBA遍历方式来筛选,还可以使用CQL来查找,后者是最有效的做法,代码参考如下: 原本有截图,上传始终提示超出宽度,这里就不传截图了。 Private Sub CommandButton1_Click() ' 设置文档单位为毫米 ActiveDocument.Unit = cdrMillimeter ' 定义宽度变量,从文本框获取到宽度值 Dim w As Double w = CDbl(TextBox1.Text) ' 动态查询指定宽
  • 0
    Sub 修复文本溢出() Dim s As Shape ActiveDocument.ReferencePoint = cdrTopLeft For Each s In ActiveDocument.ActivePage.Shapes If s.Type = cdrTextShape Then If s.Text.Type = cdrParagraphText Then If s.Text.Overflow Then AdjustFrame s End If End If Next s End Sub Private Sub AdjustFrame(s As Shape) Dim h As Double h = s.SizeHeight / 10 While s.Text.Overflow s.SizeHeight = s.SizeHeight + h Wend End Sub
  • 0
    Sub 转CMYK模式() Dim s As Shape For Each s In ActiveSelection.Shapes If s.Fill.Type = cdrUniformFill Then s.Fill.UniformColor.ConvertToCMYK End If Next s End Sub
  • 2
    Sub 获取当前对象填充颜色() With ActiveSelection.Shapes(1).Fill.UniformColor MsgBox "填充颜色名称: " & .Name & vbCr & _ "色值: " & .Name(True) End With End Sub
  • 3
    自动居中 取设定间距最少的两个个替换成一个圆 判断四周物件的距离 居中
    EWKKL 7-14
  • 0
    '======================================================================== '过程名称:打印全部菜单ID(用于自动化调用) '======================================================================== Public Sub listMenuItemIDs() On Error Resume Next Dim cmdbar, ctl For Each cmdbar In FrameWork.CommandBars Debug.Print cmdbar & "工具栏下面的菜单项:" For Each ctl In cmdbar.Controls Debug.Print vbTab & ctl.ID & " -> " & ctl.Caption Next Next End Sub 拿到ID后,就可以通过自动化框架提供的方法来调用指定的菜单,
    Zebe 7-12
  • 0
    '======================================================================== ' 写入TXT文本文件 ' fileName:TXT文件完整路径 ' content:内容 '======================================================================== Public Function writeTextFile(fileName As String, content As String) _ As Boolean On Error GoTo errHandler Dim freeNum As Integer freeNum = FreeFile Open fileName For Output As #freeNum Print #freeNum, content Close #freeNum writeTextFile = True Exit Function ' 异常处理 errHandler: writeTextFile = False Dim msg As String msg = "方法 writ
    Zebe 7-13
  • 3
    本函数用来统计一个字符串里面汉字的数量,例如 “CorelDRAW VBA探秘,专注于分享VBA知识” 这个字符串里面的汉字数量是 9。 函数名称:getTotalChineseInStr 参数说明:str -> 字符串 函数说明:通过遍历字符串,每次截取一个字符,判断Unicode编码,然后进行统计。 参考代码: Public Function getTotalChineseInStr(str As String) As Long Dim num As Integer Dim i As Integer For i = 1 To Len(str) If Asc(Mid(str, i, 1)) < 0 Then If AscB(StrConv(Mid(str, i, 1), vbFromUnicode)) - 160 > 15 Then num = num + 1 End
    TonyR 7-12
  • 0
    本函数用来统计一个字符串里面英文字母的数量,例如“AAA你好”这个字符串里面的英文字母是 3。 函数名称:getTotalLettersInStr 参数说明:str -> 字符串 函数说明:通过遍历字符串,每次截取一个字符,判断是否为字母,然后进行统计。 参考代码: Public Function getTotalLettersInStr(str As String) As Long Dim n As Integer Dim i As Integer Dim one As Integer n = 0 For i = 1 To Len(str) one = Asc(Mid(str, i, 1)) If (one >= 65 And one <= 90) Or (one >= 97 And one <= 122) Then n = n + 1 End If Next i ge
    Zebe 6-30
  • 1
    CorelDraw VBA群里提出的问题,现分享出来,一起共同学习 Dim Str_Something As String Dim Str_HowDo As String Dim Str_feeling As String Dim Switch_Something As Boolean Dim Switch_HowDo As Boolean Dim Switch_Feeling As Boolean Private Sub UserForm_Initialize() '赋初值 Str_Something = "" Str_HowDo = "" Str_feeling = "" Switch_SomethingH = False Switch_HowDo = False Switch_Feeling = False End Sub Private Sub ToggleButton1_Click() If Switch_Something Then Switch_Something = False Str_Something = "" Else Switch_Something = True Str_Some
  • 4
    本函数的作用就是用来生成一个全局唯一的 GUID,有时候在用于动态ID生成时,非常有用。相关代码如下: 函数中的 36 是限制GUID的长度,也可以自行指定。 Public Function getGUID() As String getGUID = LCase(Mid$(CreateObject("Scriptlet.TypeLib").GUID, 2, 36)) End Function 返回值的例子:63b3f7b4-8e5e-4f6f-b88e-89ed5f553944
    TonyR 6-26
  • 3
    本文将介绍用VBA在CoreDraw添加页面及插入页面,并介绍纸张的设置方式,同时简单介绍了在新建的页面上添加相关对象的方法。 效果如图 代码: Sub AddPage() '将文档单位设置成毫米 ActiveDocument.Unit = cdrMillimeter '添加一个默认页面 ActiveDocument.AddPages (1) '添加五个默认页面 ActiveDocument.AddPages (5) Dim P As Page '添加一个默认页面,并将页面名称设为A,纸张设为A3,A3尺寸为420*297毫米,其他尺寸请自行百度 Set P = ActiveDocument.AddPages(1) P.SetSize 420,297 P.Name =
    TonyR 6-26
  • 8
    '========================================================================== '调用文件夹选择函数,将其返回值传递给 path 变量 '========================================================================== Public Function chooseFolder() As String ' 声明变量 Dim shell, folder ' 创建Shell对象,用来浏览系统文件夹 Set shell =CreateObject("Shell.Application") Set folder = shell.BrowseForFolder(0,"选择你要导出的目标文件夹......", 1, 0) ' 判断是否选择了文件夹 If Not folder Is Nothing Then chooseFolder =
  • 3
    Dim path_1 ' 声明路径变量 ' 以对话框形式得到路径 path_1 = CorelScriptTools.GetFileBox("文本文件类型|*.txt|全部文件类型|*.*", "请选择文件", 1, "默认文件名称") Dim FileNumber FileNumber = FreeFile ' 取得未使用的文件号。 Open path_1 For Output As #FileNumber ' 创建文件名 Print #FileNumber, "要写入的数据放在这里" ' 写入文件内容 放置变量数量,如果用数组,可以加循环处理 Close #FileNumber ' 关闭文件。
    sonichu 6-23
  • 1
    本函数用来获取 CorelDRAW 软件(特指当前启动的 CorelDRAW 软件)所在的文件夹。返回形式为:返回形式:C:\Program Files\CorelDRAW_X4_SP2\Programs,相关代码如下: Public Function getCoreldrawProgramPath() As String Dim path As String path = Replace(Application.path, "\Draw", "\Programs") getCoreldrawProgramPath = path End Function
  • 1
    CorelDRAW X7 版本的对象模型结构图,有助于理解VBA开发过程中的对象关系。 非常感谢原创作者的辛苦付出,对于英文不好的同学很有帮助!
    sonichu 6-22
  • 11
    在 CorelDRAW 中,对象模型是按照一定的层次结构来组织的,如果你要使用 VBA 对CorelDRAW 二次开发,那么必须了解 CorelDRAW 中的对象模型。 本文全是手机打字(车站等车时),内容不多,还请耐心看完,相信你一定会有所收获。 首先必须明确,Application 这个对象是最顶层的对象,代表整个 CorelDRAW 应用程序(就是你当前使用的这个软件本身)。 其次,CorelDRAW 中最主要的一些对象为 Document(文档)、Page(页面)、Layer(图层)、Shape(形状)。 主要的模
  • 2
    Private Sub UserForm_Activate() '窗体活动时取数据 Dim s As Shape Set s = ActiveShape CharSpacingVal.text = s.text.Story.CharSpacing LineSpacingVal.text = s.text.Story.LineSpacing End Sub
    TonyR 6-22

  • 发贴红色标题
  • 显示红名
  • 签到六倍经验

赠送补签卡1张,获得[经验书购买权]

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!

本吧信息 查看详情>>

会员: 会员

目录: 计算机软件

友情贴吧

大家都在搜
  • coreldraw vba线段
  • coreldrawx4vba
  • coreldraw vba
  • coreldraw vba 手册
  • coreldraw vba语言
  • coreldraw vba 居中
  • coreldraw和ai的区别
  • coreldrawx4文字排版
  • coreldrawx4安装教程
  • coreldrawx4怎么复制
  • coreldrawx4怎么改字
  • coreldraw x4自学教程
  • coreldrawx4怎么转曲
  • coreldrawx4怎么排版
  • coreldrawx4怎么下载
  • coreldraw x4自学绘图
  • coreldraw x4免费教程
  • coreldraw
  • coreldrawx4
  • coreldraw教程
  • coreldraw下载
  • coreldraw怎么读
  • coreldrawx7
  • coreldrawx4怎么抠图