Microsoft技术社区联盟成员,全球领先的Excel2003/2007/2010门户,Office培训学习的最佳社区
设为首页收藏本站|繁體中文 切换到窄版

Excel Home论坛

 找回密码
 免费注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

魔方网表,Excel终结者,永久免费 Excel服务器2010软件和教程下载 培训课券免费大放送啦!
Excel不给力? 何不试试FoxTable! 2012年Excel免费培训班2-6月开课计划 新人必读:ExcelHome最佳学习方法 免费下载Excel行业应用视频教程
精粹:成为Excel高手的捷径 免费下载39集新Excel精粹视频教程 免费学习Excel数据透视表视频教程 入门必看《循序渐进学Excel》视频
超过100个Excel工具 免费学习Excel 2007精粹视频教程 新Office外观-不可思议 搞不定老板要的报表?我们来帮您
  • 12035财富
  • 215鲜花
  • 4技术
  • 积分排行
    188
    帖子
    3644
    精华
    0
    分享
    0

    金牌优秀会员奖章 优秀会员奖章

    发表于 2007-4-3 14:03:08 |显示全部楼层

    我的文件中,选定文本右侧单元格后按ctrl+s可以自动把文本逐字区分并给出其unicode双字节码的。

  • 12035财富
  • 215鲜花
  • 4技术
  • 积分排行
    188
    帖子
    3644
    精华
    0
    分享
    0

    金牌优秀会员奖章 优秀会员奖章

    发表于 2007-4-3 14:08:12 |显示全部楼层

    把楼主的拼音转化为无注音声调符的英文字母的函数,虽然很简单,但挺烦的。

    Function EP(HanZiPinYin)
        P = HanZiPinYin
       
        P = Replace(P, ChrW(257), "a")
        P = Replace(P, ChrW(225), "a")
        P = Replace(P, ChrW(462), "a")
        P = Replace(P, ChrW(224), "a")
       
        P = Replace(P, ChrW(275), "e")
        P = Replace(P, ChrW(233), "e")
        P = Replace(P, ChrW(283), "e")
        P = Replace(P, ChrW(232), "e")
       
        P = Replace(P, ChrW(299), "i")
        P = Replace(P, ChrW(237), "i")
        P = Replace(P, ChrW(464), "i")
        P = Replace(P, ChrW(236), "i")
       
        P = Replace(P, ChrW(333), "o")
        P = Replace(P, ChrW(243), "o")
        P = Replace(P, ChrW(466), "o")
        P = Replace(P, ChrW(242), "o")
       
        P = Replace(P, ChrW(363), "u")
        P = Replace(P, ChrW(250), "u")
        P = Replace(P, ChrW(468), "u")
        P = Replace(P, ChrW(249), "u")
       
        P = Replace(P, ChrW(252), "v")
        P = Replace(P, ChrW(470), "v")
        P = Replace(P, ChrW(472), "v")
        P = Replace(P, ChrW(474), "v")
        P = Replace(P, ChrW(476), "v")
       
        EP = P
    End Function

  • 12035财富
  • 215鲜花
  • 4技术
  • 积分排行
    188
    帖子
    3644
    精华
    0
    分享
    0

    金牌优秀会员奖章 优秀会员奖章

    发表于 2007-4-3 14:10:05 |显示全部楼层

    接着,把英文字母组成的拼音转化为民国拼音。(好像也叫做仓颉拼音的。现在主要是台巴子在用。)

    Function PY(EPinYin)
        P = EPinYin
           
        P = Replace(P, "iang", ChrW(12583) & ChrW(12580))
        P = Replace(P, "yang", ChrW(12583) & ChrW(12580))
       
        P = Replace(P, "iong", ChrW(12585) & ChrW(12581))
        P = Replace(P, "yong", ChrW(12585) & ChrW(12581))
           
        P = Replace(P, "yuan", ChrW(12585) & ChrW(12578))
           
        P = Replace(P, "juan", ChrW(12560) & ChrW(12585) & ChrW(12578))
        P = Replace(P, "quan", ChrW(12561) & ChrW(12585) & ChrW(12578))
        P = Replace(P, "xuan", ChrW(12562) & ChrW(12585) & ChrW(12578))
           
       
        P = Replace(P, "ang", ChrW(12580))
        P = Replace(P, "eng", ChrW(12581))
        P = Replace(P, "ong", ChrW(12584) & ChrW(12581))
               
        P = Replace(P, "iao", ChrW(12583) & ChrW(12576))
        P = Replace(P, "yao", ChrW(12583) & ChrW(12576))
           
        P = Replace(P, "iou", ChrW(12583) & ChrW(12577))
        P = Replace(P, "you", ChrW(12583) & ChrW(12577))
           
        P = Replace(P, "ian", ChrW(12583) & ChrW(12578))
        P = Replace(P, "yan", ChrW(12583) & ChrW(12578))
           
        P = Replace(P, "ing", ChrW(12583) & ChrW(12581))
           
        P = Replace(P, "yue", ChrW(12585) & ChrW(12573))
        P = Replace(P, "yun", ChrW(12585) & ChrW(12579))
           
        P = Replace(P, "jue", ChrW(12560) & ChrW(12585) & ChrW(12573))
        P = Replace(P, "que", ChrW(12561) & ChrW(12585) & ChrW(12573))
        P = Replace(P, "xue", ChrW(12562) & ChrW(12585) & ChrW(12573))
           
        P = Replace(P, "jun", ChrW(12560) & ChrW(12585) & ChrW(12579))
        P = Replace(P, "qun", ChrW(12561) & ChrW(12585) & ChrW(12579))
        P = Replace(P, "xun", ChrW(12562) & ChrW(12585) & ChrW(12579))
           
        P = Replace(P, "wu", ChrW(12584))
        P = Replace(P, "ui", ChrW(12584) & ChrW(12575))
               
        P = Replace(P, "ve", ChrW(12585) & ChrW(12573))
        P = Replace(P, "vn", ChrW(12585) & ChrW(12579))
       
        P = Replace(P, "ya", ChrW(12583) & ChrW(12570))
        P = Replace(P, "ye", ChrW(12583) & ChrW(12573))
        P = Replace(P, "yu", ChrW(12585))
           
        P = Replace(P, "ju", ChrW(12560) & ChrW(12585))
        P = Replace(P, "qu", ChrW(12561) & ChrW(12585))
        P = Replace(P, "xu", ChrW(12562) & ChrW(12585))
               
        P = Replace(P, "ia", ChrW(12583) & ChrW(12570))
        P = Replace(P, "ie", ChrW(12583) & ChrW(12573))
        P = Replace(P, "iu", ChrW(12583) & ChrW(12577))
       
        P = Replace(P, "in", ChrW(12583) & ChrW(12579))
        P = Replace(P, "un", ChrW(12584) & ChrW(12579))
               
        P = Replace(P, "ai", ChrW(12574))
        P = Replace(P, "ei", ChrW(12575))
           
        P = Replace(P, "ao", ChrW(12576))
        P = Replace(P, "ou", ChrW(12577))
           
        P = Replace(P, "an", ChrW(12578))
        P = Replace(P, "en", ChrW(12579))
           
        P = Replace(P, "er", ChrW(12582))
           
        P = Replace(P, "zh", ChrW(12563))
        P = Replace(P, "ch", ChrW(12564))
        P = Replace(P, "sh", ChrW(12565))
           
        P = Replace(P, "b", ChrW(12549))
        P = Replace(P, "p", ChrW(12550))
        P = Replace(P, "m", ChrW(12551))
        P = Replace(P, "f", ChrW(12552))
           
        P = Replace(P, "d", ChrW(12553))
        P = Replace(P, "t", ChrW(12554))
        P = Replace(P, "n", ChrW(12555))
        P = Replace(P, "l", ChrW(12556))
               
        P = Replace(P, "g", ChrW(12557))
        P = Replace(P, "k", ChrW(12558))
        P = Replace(P, "h", ChrW(12559))
               
        P = Replace(P, "j", ChrW(12560))
        P = Replace(P, "q", ChrW(12561))
        P = Replace(P, "x", ChrW(12562))
               
        P = Replace(P, "r", ChrW(12566))
       
        P = Replace(P, "z", ChrW(12567))
        P = Replace(P, "c", ChrW(12568))
        P = Replace(P, "s", ChrW(12569))
               
        P = Replace(P, "a", ChrW(12570))
        P = Replace(P, "o", ChrW(12571))
        P = Replace(P, "e", ChrW(12572))
           
        P = Replace(P, "i", ChrW(12583))
        P = Replace(P, "y", "")
              
        P = Replace(P, "w", ChrW(12584))
        P = Replace(P, "u", ChrW(12584))
        P = Replace(P, "v", ChrW(12585))
           
        PY = P
    End Function

  • 719财富
  • 10鲜花
  • 9技术
    • 等级 3EH中级
    积分排行
    1351
    帖子
    83
    精华
    4
    分享
    0
    发表于 2007-4-3 15:41:34 |显示全部楼层
    hehe,没想到真的会有人对这个代码感兴趣
    改的真的很好,看得出花了不少功夫,
    香川群子一定在日企上班吧,想必一般人不会用日版office:)

    群子的仓颉码我可是一点都不会,早就觉得那是种很有趣的编码,这下有机会了解下了:)

    更新提供的函数只是一个例子,演示如何实用类,只需要稍微改下函数就能实现指定分隔符之类的功能。
    抛弃非中文字符的问题也可以解决,
    若IFELanguage_GetMorphResult返回结果为空(""),则将源字符加入作为返回值返回即可。

    多谢群子的支持[em23]
  • 6967财富
  • 3鲜花
  • 4技术
    • 等级 5EH铁杆
    积分排行
    413
    帖子
    966
    精华
    0
    分享
    4
    发表于 2007-4-5 08:25:46 |显示全部楼层
    建议香川群子大师也传一个如同一楼的文件上来让我们菜鸟使用.谢谢
    ★★有趣必有益★★
  • 3130财富
  • 13鲜花
  • 0技术
    • 等级 4EH高级
    积分排行
    692
    帖子
    1093
    精华
    0
    分享
    0
    发表于 2007-4-5 09:03:45 |显示全部楼层

    好东西,一定要顶

    最好能祥以前一位高人的拼音方案,带有参数:pinyin(a1,2)

    比如:1 带有注音

          2 没有注音

          3 开头字母。。。。。。。

    北极狐工作室  QQ:14885553
    VBA+VB+VB2008
    代写程序
  • 12035财富
  • 215鲜花
  • 4技术
  • 积分排行
    188
    帖子
    3644
    精华
    0
    分享
    0

    金牌优秀会员奖章 优秀会员奖章

    发表于 2007-4-5 10:37:48 |显示全部楼层

    请看30楼附件。

    特别的地方,在于加入了7000多个常用字的五笔码。

    带有注音的那就是楼主开发的=HzToPy()

    要改成没有注音的,那就使用=EP(HzToPy())

    第三功能,待完善。

    如果不需要五笔的话,就简单了。

  • 65财富
  • 0鲜花
  • 0技术
    • 等级 2EH初级
    积分排行
    3000+
    帖子
    76
    精华
    0
    分享
    0
    发表于 2007-4-5 12:42:03 |显示全部楼层

    高手就是高手,光会一个语言是不行的。我们还要努力呀!

    [em01]
    小狮子
  • 719财富
  • 10鲜花
  • 9技术
    • 等级 3EH中级
    积分排行
    1351
    帖子
    83
    精华
    4
    分享
    0
    发表于 2007-4-5 16:10:37 |显示全部楼层

    04.05再次更新,详情请看一楼

  • 2761财富
  • 0鲜花
  • 3技术
    • 等级 4EH高级
    积分排行
    584
    帖子
    980
    精华
    0
    分享
    0
    发表于 2007-4-5 20:21:17 |显示全部楼层

    经过楼主第二次更新,增加了很多可选参数之后,我真的觉得很完美了.

    楼主真是高手,也非常感谢他为我们提供了这么好的东东.

    发表回复

    您需要登录后才可以回帖 登录 | 免费注册

    发帖时请遵守我国法律,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任。
    回顶部