ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6513|回复: 5

[求助] 真的无法使EXCEL换行符合中文习惯吗??

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-9-4 20:33 | 显示全部楼层 |阅读模式
[广告] 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代码!!!

TA的精华主题

TA的得分主题

发表于 2009-9-4 20:57 | 显示全部楼层
EXCEL不是用来排版的吧。

就比如我们不能强求一名老师给别人看病、要求医生去舞台唱民歌,更不能要求的士司机去开航母的

[ 本帖最后由 zldccmx 于 2009-9-4 20:59 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-9-4 21:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
排版用tetex

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-4 21:15 | 显示全部楼层
感谢各位关注,看来这是一个很难的技术难题,或许最终只能寄希望微软在下几个新版本中解决。也许是我说的“排版”这一概念太大,就如各位朋友所说的鱼和熊掌不可兼得!excel、Word, PowerPoint 、access 等软件各有侧重,不能强excel之所难, 但在下愚见:“换行符合中文习惯”这应是excel最起码的功能(单元格中文字的换行应该只是简单的排版呀),总不可能你制作了一个表格,最终打印输出时却尴尬的发觉标点符号“,”或“。”全都跑到段首去了呀,这是不是会让人感觉很遗憾、很尴尬!!!我也试过想他法变通之,用插入WORD文档对象的方法,但也不理想(见http://club.excelhome.net/thread-474576-1-1.html)。不知高手能否参照守柔版主的“[原创]中英标点转换”帖子中介绍的方法(用查找的方法),编写一个宏???
在WORD中录制的宏代码为:高手能否将其移植到EXCEL中使用????
Sub Macro2()
'
' Macro2 Macro
' 宏在 2009-9-6 由 WCC 录制
'
    ActiveDocument.KerningByAlgorithm = True
    ActiveDocument.JustificationMode = wdJustificationModeCompress
    ActiveDocument.FarEastLineBreakLanguage = wdLineBreakJapanese
    ActiveDocument.FarEastLineBreakLevel = wdFarEastLineBreakLevelNormal
    ActiveDocument.FarEastLineBreakLanguage = wdLineBreakKorean
    ActiveDocument.FarEastLineBreakLevel = wdFarEastLineBreakLevelNormal
    ActiveDocument.FarEastLineBreakLanguage = wdLineBreakTraditionalChinese
    ActiveDocument.FarEastLineBreakLevel = wdFarEastLineBreakLevelNormal
    ActiveDocument.FarEastLineBreakLanguage = wdLineBreakSimplifiedChinese
    ActiveDocument.FarEastLineBreakLevel = wdFarEastLineBreakLevelNormal
End Sub

[ 本帖最后由 wcc123 于 2009-9-6 16:05 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-4-29 11:17 | 显示全部楼层

大侠帮帮忙吧,我也需要EXCEL符合中文标点编辑习惯

WORD中文版式源代码是怎么做到的呢?

TA的精华主题

TA的得分主题

发表于 2011-4-29 12:27 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-7 11:05 , Processed in 0.023394 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表