满族在线

 找回密码
 马上加入
查看: 5192|回复: 21

满文拉丁转写转换传统满文的宏代码(适用word2007),方便...

  [复制链接]
发表于 2011-12-13 17:09:54 | 显示全部楼层 |阅读模式
With Selection.Find
        .Forward = False
        .Text = "k'"
        .Replacement.Text = ChrW(&H183A)
        .Execute Replace:=wdReplaceAll
    End With
   
       With Selection.Find
        .Forward = False
        .Text = "g'"
        .Replacement.Text = ChrW(&H186C)
        .Execute Replace:=wdReplaceAll
    End With
   
       With Selection.Find
        .Forward = False
        .Text = "h'"
        .Replacement.Text = ChrW(&H186D)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "tsi"
        .Replacement.Text = ChrW(&H186E) + ChrW(&H185F)
        .Execute Replace:=wdReplaceAll
    End With
   
     With Selection.Find
        .Forward = False
        .Text = "ts'i"
        .Replacement.Text = ChrW(&H186E) + ChrW(&H185F)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "ts'y"
        .Replacement.Text = ChrW(&H186E) + ChrW(&H185F)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "ts'"
        .Replacement.Text = ChrW(&H186E)
        .Execute Replace:=wdReplaceAll
    End With
   
   
    With Selection.Find
        .Forward = False
        .Text = "dz"
        .Replacement.Text = ChrW(&H186F)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "z"
        .Replacement.Text = ChrW(&H1870)
        .Execute Replace:=wdReplaceAll
    End With
   
     With Selection.Find
        .Forward = False
        .Text = ChrW(&H17E)
        .Replacement.Text = ChrW(&H1870)
        .Execute Replace:=wdReplaceAll
    End With
   
   
   
    With Selection.Find
        .Forward = False
        .Text = "sy"
        .Replacement.Text = ChrW(&H1830) + ChrW(&H185F)
        .Execute Replace:=wdReplaceAll
    End With
   
     With Selection.Find
        .Forward = False
        .Text = "c'y"
        .Replacement.Text = ChrW(&H1871) + ChrW(&H1873)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "cy"
        .Replacement.Text = ChrW(&H1871) + ChrW(&H1873)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "jy"
        .Replacement.Text = ChrW(&H1877) + ChrW(&H1873)
        .Execute Replace:=wdReplaceAll
    End With
    With Selection.Find
        .Forward = False
        .Text = "ng"
        .Replacement.Text = ChrW(&H1829)
        .Execute Replace:=wdReplaceAll
    End With
    With Selection.Find
        .Forward = False
        .Text = "a"
        .Replacement.Text = ChrW(&H1820)
        .Execute Replace:=wdReplaceAll
    End With
   
     With Selection.Find
        .Forward = False
        .Text = "b"
        .Replacement.Text = ChrW(&H182A)
        .Execute Replace:=wdReplaceAll
    End With
With Selection.Find
        .Forward = False
        .Text = "c"
        .Replacement.Text = ChrW(&H1834)
        .Execute Replace:=wdReplaceAll
    End With
With Selection.Find
        .Forward = False
        .Text = "d"
        .Replacement.Text = ChrW(&H1869)
        .Execute Replace:=wdReplaceAll
    End With
    With Selection.Find
        .Forward = False
        .Text = "e"
        .Replacement.Text = ChrW(&H185D)
        .Execute Replace:=wdReplaceAll
    End With
    With Selection.Find
        .Forward = False
        .Text = "f"
        .Replacement.Text = ChrW(&H1876)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "g"
        .Replacement.Text = ChrW(&H1864)
        .Execute Replace:=wdReplaceAll
    End With
    With Selection.Find
        .Forward = False
        .Text = "h"
        .Replacement.Text = ChrW(&H1865)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = " i "
        .Replacement.Text = " " & ChrW(8205) & ChrW(6259) & " "
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "i"
        .Replacement.Text = ChrW(&H1873)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "j"
        .Replacement.Text = ChrW(&H1835)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "k"
        .Replacement.Text = ChrW(&H1874)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "l"
        .Replacement.Text = ChrW(&H182F)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "m"
        .Replacement.Text = ChrW(&H182E)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "n"
        .Replacement.Text = ChrW(&H1828)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "o"
        .Replacement.Text = ChrW(&H1823)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "p"
        .Replacement.Text = ChrW(&H1866)
        .Execute Replace:=wdReplaceAll
    End With
   
   
    With Selection.Find
        .Forward = False
        .Text = "r"
        .Replacement.Text = ChrW(&H1875)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "s"
        .Replacement.Text = ChrW(&H1830)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "t"
        .Replacement.Text = ChrW(&H1868)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "u"
        .Replacement.Text = ChrW(&H1860)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "v"
        .Replacement.Text = ChrW(&H1861)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = ChrW(&H16B)
        .Replacement.Text = ChrW(&H1861)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "w"
        .Replacement.Text = ChrW(&H1838)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = "x"
        .Replacement.Text = ChrW(&H1867)
        .Execute Replace:=wdReplaceAll
    End With
   
    With Selection.Find
        .Forward = False
        .Text = ChrW(&H161)
        .Replacement.Text = ChrW(&H1867)
        .Execute Replace:=wdReplaceAll
    End With
   
   
    With Selection.Find
        .Forward = False
        .Text = "y"
        .Replacement.Text = ChrW(&H1836)
        .Execute Replace:=wdReplaceAll
    End With
   
       With Selection.Find
        .Forward = False
        .Text = ","
        .Replacement.Text = ChrW(&H1808)
        .Execute Replace:=wdReplaceAll
    End With
   
     With Selection.Find
        .Forward = False
        .Text = "."
        .Replacement.Text = ChrW(&H1809)
        .Execute Replace:=wdReplaceAll
    End With
发表于 2011-12-13 20:34:06 | 显示全部楼层
回复 水做的绳子 的帖子

绳子,你这么写会有人明白吗?

我去找找老帖子放上吧
回复

使用道具 举报

发表于 2011-12-13 21:26:57 | 显示全部楼层
本帖最后由 sears 于 2011-12-13 21:29 编辑

拉丁满文用的是穆林德夫满文转写法( 注意不是金标用的拉丁转写方法)。根据的是穆林德夫1892年< A Manchu Grammar with Analysed Texts> 一书的转写法,请注意下表的说明,以免出现错误。
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,w,y 各教材都一样
š (s上对勾,输入š或者x都可以)
ū (第六元音,输入ū 或者v都可以)
借词字母k' (注意是是半角字符,也就是英文标点,在搜狗拼音里要选英文标点)
g'; (同上)
h' (同上)
ts' (同上)
ts(只和i拼写,注意是ts不是ts',不少教材都有印刷错误.为了和各教材兼容,tsi也可以输入为 ts'i, ts'y)
ž (z上一个对勾,输入ž 和z都可以)
sy (表示的是一个音节"思",不是字母)
c'y (注意应该是c'y不是cy,不少教材都有印刷错误,注意是是半角字符,表示的是一个音节"吃",为了和各个教材兼容,输入c'y或者cy都可以)
jy(表示的是一个音节"之")
标点符号    , (逗号,要选英文标点)   . (句号,要选英文标点)


广略贝勒 2009/9/16 19:53

详细步骤
1、创建 宏 。打开word2007,“视图”-查看宏,输入宏名(任意设,下设为“满文”),然后点“创建”,如图~

2、复制楼上sears提供的代码,粘贴到新创建的 宏 中,然后保存。如图~

3、回到word文档,打出想要转化的转写(以 manju i abka为例),选中,如图~

4、选中转写之后,再选择任意一个daicing字体,如图~

5、选择字体以后,按 Alt+F8,出现步骤1的截图内容,这时候点击“运行”,就可以转换成满文了~附图~


问春无语 2009/4/9 12:27

转换的速度因计算机的状况各异,我转换一篇90页的文章大概2-3分钟左右。


回复

使用道具 举报

发表于 2011-12-13 21:35:15 | 显示全部楼层
本帖最后由 sears 于 2011-12-13 21:50 编辑

回复 sears 的帖子

附件中分别是:

1.拉丁转写到锡伯文的自动转换宏代码 (适用于word2007)


2.拉丁转写到传统满文的自动转换宏代码 (适用于excel)
Excel和word比较起来,有以下几个优点.
1 Excel2003 就能正确显示圈点满文,而word2003不成,得word2007才能正确显示.
2 Excel下可以自由调整字的旋转角度,可以把每个词都立起来.做成好看的词典形式.
3 Excel里可以在每个单词旁边一列插入一个随机数(公式列表里有),然后让随机数排序,这样就实现了单词的随机排列,方便背单词用.

使用方法和word里面一样,工具-宏-录制一个新宏,然后编辑这个宏,把附件里的文本拷到这个宏里面,保存.
选定要转换的满文拉丁转写部分,运行宏就可以了.




LatinToSibeMacro.rar

538 Bytes, 下载次数: 65, 下载积分: 米 -1 斗, 肉 -1 斤

LatinToManchuMacroExcel.rar

693 Bytes, 下载次数: 63, 下载积分: 米 -1 斗, 肉 -1 斤

回复

使用道具 举报

发表于 2011-12-13 23:42:33 | 显示全部楼层
这是以前满洲天空的旧帖子,但是非常有价值,故在此重发。
回复

使用道具 举报

发表于 2011-12-14 07:34:12 | 显示全部楼层
技术帝V5
回复

使用道具 举报

发表于 2011-12-17 15:33:20 | 显示全部楼层
本帖最后由 wsmon 于 2011-12-17 15:45 编辑

可以用自定义的命令,把这个宏设置到Word 2007的工具栏上;选定转换内容后,即可最直观地一键完成转换。

贴上一张截图吧——

Word 2007满文转换宏按钮.jpg
回复

使用道具 举报

发表于 2011-12-17 20:44:07 | 显示全部楼层
找不到dacing字体啊,似乎那个站上只有输入法。开启蒙古文支持后,撰写出来的单词是断开的,还有杏黄的底色
回复

使用道具 举报

发表于 2011-12-17 22:48:38 | 显示全部楼层
回复 天佑海东青 的帖子

如果你是刚刚到daicing的网站下载的,那么字体是打包在输入法里的。如果是以前下载的要再自己复制字体。

另外,你要确定自己使用的是word2007。其他版本的是会出现断字现象。
回复

使用道具 举报

发表于 2011-12-26 00:10:36 | 显示全部楼层
大爱无私啊
回复

使用道具 举报

发表于 2012-1-18 19:32:43 | 显示全部楼层
各种顶啊~~~给力
回复

使用道具 举报

发表于 2012-2-3 19:41:09 | 显示全部楼层
各位满洲的达人们,你们辛苦了!你们是满洲文化复兴的功臣。
回复

使用道具 举报

发表于 2012-2-3 20:17:27 | 显示全部楼层
回复 sears 的帖子

怎么把附件里的文本拷到这个宏里面呀?谢谢
回复

使用道具 举报

发表于 2012-2-4 22:47:22 | 显示全部楼层
ilariuju 发表于 2012-2-3 20:17
回复 sears 的帖子

怎么把附件里的文本拷到这个宏里面呀?谢谢

就是直接把文本内容复制粘贴
回复

使用道具 举报

发表于 2012-3-2 08:12:02 | 显示全部楼层
回复 水做的绳子 的帖子

改2003下的更多
回复

使用道具 举报

发表于 2012-3-5 15:28:51 | 显示全部楼层
回复 sears 的帖子

非常感谢!!
回复

使用道具 举报

发表于 2012-4-15 23:15:42 | 显示全部楼层
我先表示很迷茫。。。看不太懂。。。。
回复

使用道具 举报

发表于 2012-6-19 18:23:09 | 显示全部楼层
追梦无悔 发表于 2012-4-15 23:15
我先表示很迷茫。。。看不太懂。。。。

就是在word2007中把上面那段程序录制到宏里,就可以从拉丁转写转换成满文。速度很快,准确率也高。只要转写是正确的,满文就不会有错。
回复

使用道具 举报

发表于 2012-6-20 00:14:33 | 显示全部楼层
问春无语 发表于 2012-6-19 18:23
就是在word2007中把上面那段程序录制到宏里,就可以从拉丁转写转换成满文。速度很快,准确率也高。只要转 ...

先谢谢了。。改天试一下。。。
回复

使用道具 举报

发表于 2015-10-8 15:04:05 | 显示全部楼层
baniha!baniha!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上加入

本版积分规则

小黑屋|客户端|Archiver|满族在线 |赞助本站

GMT+8, 2018-12-11 15:34 , Processed in 0.375000 second(s), 45 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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