lnlsj 发表于 2024-6-4 19:28:17

求解决办法 CDR文件中的中文的字体不能修改为其他字体

以前老版保存的CDR文件 想修改其中中文的字体的,修改后原来的字体没有变化,但可输入新的文字为想改的字体,在原字体做一下拉伸后也可改为想改的字体,不知道这是什么原因,在打开直接修改时没有变化,还是原字体样式。求解决办法,谢谢指教。

青创 发表于 2024-6-5 09:11:00

新版本的BUG吧,我用的也是这情况,重新复制黏贴就可以改,直接改不了

红动中国 发表于 2024-6-5 09:18:44

字不多的情况下就重新打几个字,或者复制粘贴后再改就可以了

xgjiang2008 发表于 2024-6-5 10:54:10

本帖最后由 xgjiang2008 于 2024-6-5 10:56 编辑

你可以试着,换一换,不同版本的CDR,看看能不能解决。微软雅黑和思源字体也经常出BUG。字不多的话,就重新打字吧

benleijian 发表于 2024-6-5 14:11:51

最合适的方法是CTRL+F8两次

lnlsj 发表于 2024-6-5 14:45:50

有时改娈字体的大小 或者改变字体为其他样式再改为想用的字体 没有找出解决的根本办法 重新输入倒是没有什么问题 字少了还行 多了就不好办了

benleijian 发表于 2024-6-8 14:07:19

CTRL+F8的方式还不稳妥,重新保存为x4的时候会出现字体和字号丢失。
做了个更新文字的gms,这样稳妥点,以下是源码
Sub 更新文字()
    If ActiveShape Is Nothing Then MsgBox "Pls select something!": Exit Sub
    ActiveDocument.BeginCommandGroup: Application.Optimization = True
    Dim s As Shape, sr As ShapeRange
    Set sr = ActiveSelectionRange
    n = sr.Shapes.Count
    For Each s In sr.Shapes
      If s.Type = cdrTextShape Then s.Text.Story.Replace s.Text.Story.Text
    Next s
    ActiveDocument.ActiveShape.RemoveFromSelection
    sr.AddToSelection
    ActiveDocument.EndCommandGroup: Application.Optimization = False
    ActiveWindow.Refresh: Application.Refresh
End Sub

xgjiang2008 发表于 2024-6-8 14:15:51

benleijian 发表于 2024-6-8 14:07
CTRL+F8的方式还不稳妥,重新保存为x4的时候会出现字体和字号丢失。
做了个更新文字的gms,这样稳妥点,以 ...

这代码怎么用的,复制这段代码之后,该怎么做。

benleijian 发表于 2024-6-8 17:30:42

xgjiang2008 发表于 2024-6-8 14:15
这代码怎么用的,复制这段代码之后,该怎么做。
直接给你gms了,安装到对应CDR目录的DRAW\GMS文件夹下,需要能用VBA的版本。

benleijian 发表于 2024-6-8 17:53:41

benleijian 发表于 2024-6-8 17:30
直接给你gms了,安装到对应CDR目录的DRAW\GMS文件夹下,需要能用VBA的版本。
...

下班了,手机回复,只能另开一楼。
其中两个方案,一个是逐字替换,一个是整文替换,逐字的运行会慢点,但可以兼容同文本不同字体。
暂时均要全部打散方式,递归算法比较危险暂时不考虑。
页: [1] 2 3
查看完整版本: 求解决办法 CDR文件中的中文的字体不能修改为其他字体