|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
真的无法使EXCEL换行符合中文习惯吗??
因排版是EXCEL2003弱项,所以有时在单元格(如:处理笺工作表中的B4单元格)中输入大量中英混排(含中文汉字、西文字母、数字等)的文字,并将单元格格式设置为“自动换行”时,B4单元格中的文字内容自动换行后有时会出现前置标点(如:([{·‘“〈《「『【〔〖(.[{£¥)等在行尾,或后置标点(如:!),.:;?]}¨·ˇˉ―‖’”…∶、。〃々〉》」』】〕〗!"'),.:;?]`|}~¢)等在行首的情况,(其没有像WORD那样按“中文版式”控制首尾字符的功能,WORD可以通过“工具””→“选项””→“中文版式”控制首尾标点符号,从而不得不用手工Alt+Enter控制换行,数据量大时很不方便。这个问题可能是微软的一个缺陷,可谁叫他是老外,不用中文呢,可气的是居然我们国产的金山表格等软件也不能按中文排版习惯自动换行。上网查阅了大量资料,也找到了一些可供参考的例子或是思路,只是无奈自己VBA编程水平太低,请高手帮助解决(还是根本无法实现?求助帖已发到坛中多天,请高手赐教)。
第一步:1、假设B4列宽固定时,能否用代码根据列宽、字体类型、字号等,计算出B4单元格每行可容纳的字符数(这可能是个难题,见http://club.excelhome.net/viewthread.php?tid=175346至今没有人解决)。
2、如果不能用VBA自动算出B4单元格每行可容纳的字符数,我也用过笨办法,就是手工试出B4单元格可容纳的字符数(B4单元格中我曾手工试出可容纳36个纯汉字,但当B4单元格中输入的是中英混排文本时,其每行可容纳的字符数是不固定的,这又是一个难题),用笨办法解决的例子见http://www.officefans.net/cdb/viewthread.php?tid=108598
第二步:当每行可容纳的字符数得到时,可用查找数组的方法,来判断每行首尾字符是否包括前置标点或后置标点,以便确定在标点符号前是否需要插入人工换行符“Chr(10)",以使标点符号排版符合中文习惯。查找数组的方法或可参考守柔版主的“[原创]中英标点转换”帖子中介绍的方法,见
http://www.officefans.net/cdb/viewthread.php?tid=38009
也试过插入WORD文档对象的方法,但也不理想(见http://club.excelhome.net/thread-474576-1-1.html)。有朋友说这可能是强人所难,EXCEL根本无法办到,甚至建议改用WORD,但WORD不便于对数据或数据库进行统计、查询、管理和开发。而且本人认为不奢望EXCEL能像WORD那样拥有强大的排版编辑功能,但是“换行符合中文习惯”这应是最基本的功能。见附件,
DXQ.rar
(151.79 KB, 下载次数: 15)
请高手赐教或给出VBA代码!!! |
|