水做的绳子 发表于 2011-12-13 17:09:54

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

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

回复 水做的绳子 的帖子

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

我去找找老帖子放上吧

sears 发表于 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分钟左右。


sears 发表于 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里面一样,工具-宏-录制一个新宏,然后编辑这个宏,把附件里的文本拷到这个宏里面,保存.
选定要转换的满文拉丁转写部分,运行宏就可以了.




问春无语 发表于 2011-12-13 23:42:33

这是以前满洲天空的旧帖子,但是非常有价值,故在此重发。

诸申巴图鲁 发表于 2011-12-14 07:34:12

技术帝V5

wsmon 发表于 2011-12-17 15:33:20

本帖最后由 wsmon 于 2011-12-17 15:45 编辑

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

贴上一张截图吧——


天佑海东青 发表于 2011-12-17 20:44:07

找不到dacing字体啊,似乎那个站上只有输入法。开启蒙古文支持后,撰写出来的单词是断开的,还有杏黄的底色

问春无语 发表于 2011-12-17 22:48:38

回复 天佑海东青 的帖子

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

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

orinjakun 发表于 2011-12-26 00:10:36

大爱无私啊:$

535160991 发表于 2012-1-18 19:32:43

各种顶啊~~~给力

ilariuju 发表于 2012-2-3 19:41:09

各位满洲的达人们,你们辛苦了!你们是满洲文化复兴的功臣。:loveliness:

ilariuju 发表于 2012-2-3 20:17:27

回复 sears 的帖子

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

sears 发表于 2012-2-4 22:47:22

ilariuju 发表于 2012-2-3 20:17 static/image/common/back.gif
回复 sears 的帖子

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

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

lnbxzhao 发表于 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 static/image/common/back.gif
我先表示很迷茫。。。看不太懂。。。。

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

追梦无悔 发表于 2012-6-20 00:14:33

问春无语 发表于 2012-6-19 18:23 static/image/common/back.gif
就是在word2007中把上面那段程序录制到宏里,就可以从拉丁转写转换成满文。速度很快,准确率也高。只要转 ...

先谢谢了。。改天试一下。。。
页: [1]
查看完整版本: 满文拉丁转写转换传统满文的宏代码(适用word2007),方便...