求解决办法 CDR文件中的中文的字体不能修改为其他字体
以前老版保存的CDR文件 想修改其中中文的字体的,修改后原来的字体没有变化,但可输入新的文字为想改的字体,在原字体做一下拉伸后也可改为想改的字体,不知道这是什么原因,在打开直接修改时没有变化,还是原字体样式。求解决办法,谢谢指教。 新版本的BUG吧,我用的也是这情况,重新复制黏贴就可以改,直接改不了 字不多的情况下就重新打几个字,或者复制粘贴后再改就可以了 本帖最后由 xgjiang2008 于 2024-6-5 10:56 编辑你可以试着,换一换,不同版本的CDR,看看能不能解决。微软雅黑和思源字体也经常出BUG。字不多的话,就重新打字吧 最合适的方法是CTRL+F8两次 有时改娈字体的大小 或者改变字体为其他样式再改为想用的字体 没有找出解决的根本办法 重新输入倒是没有什么问题 字少了还行 多了就不好办了 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
benleijian 发表于 2024-6-8 14:07
CTRL+F8的方式还不稳妥,重新保存为x4的时候会出现字体和字号丢失。
做了个更新文字的gms,这样稳妥点,以 ...
这代码怎么用的,复制这段代码之后,该怎么做。 xgjiang2008 发表于 2024-6-8 14:15
这代码怎么用的,复制这段代码之后,该怎么做。
直接给你gms了,安装到对应CDR目录的DRAW\GMS文件夹下,需要能用VBA的版本。
benleijian 发表于 2024-6-8 17:30
直接给你gms了,安装到对应CDR目录的DRAW\GMS文件夹下,需要能用VBA的版本。
...
下班了,手机回复,只能另开一楼。
其中两个方案,一个是逐字替换,一个是整文替换,逐字的运行会慢点,但可以兼容同文本不同字体。
暂时均要全部打散方式,递归算法比较危险暂时不考虑。