用vba制作excel翻译程序

用vba制作excel翻译程序

ID:32432142

大小:41.00 KB

页数:5页

时间:2019-02-04

用vba制作excel翻译程序_第1页
用vba制作excel翻译程序_第2页
用vba制作excel翻译程序_第3页
用vba制作excel翻译程序_第4页
用vba制作excel翻译程序_第5页
资源描述:

《用vba制作excel翻译程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、用VBA制作Excel翻译程序。目的:由于经常进行日文Excel文档的翻译,所以希望用编写VBA程序能让机器自动翻译一部分,并且有中日对译表可以自己编辑和修改。Lib是中日对译表名。UserForm是用户界面,以下有选择要翻译表名的选项,“日翻中”、“中翻日”、“中日对译表维护”等三个按键。功能一览:1程序的调用。2应用界面。3对译表的建立。4每一个单词的替换(可用宏录制)5更换下一个单词,直到所有单词都替换完成,需要循环语句。(难点)5.1更换关键字。(不知怎么会出错,说下标越界,不能排错。卡在这里了)5.2换成下一个关键字,用循环语句。(还没做到这一步,有一定难度,不过

2、应该能解决吧)6问题出现:单词替换时,不能Ctrl+Z返回上一步状态。防止替换错误,需要提前备份。(现在先不管这一步了,先把程序做出来再说)编程设计:我写了一下VBA,但是试运行时出现下标越界的报错,但不知怎么纠错。请各位大侠帮忙!!!PrivateSubUserForm1_tran()MsgBox"程序测试开始!"Sheets("Temp").Cells(1,1).Value=1'Temp是要处理的文档,可改名。'Lib是字典库。'DoDimMyRangeAsRangeMyRange=Sheets(lib).Range("A1")Sheets(temp).Cells("A

3、2")=Sheets(lib).Range(MyRange).Value'IfActiveSheet.Cells(1,6).Value=""Then'Quit'EndIf'变量的使用:错误方式:n=单元格的值;另一个值等于=n。'正确方式:n=单元格的位置,另一个单元格的值=n位置的值。'Dimn'n=Sheets(lib).Cells("A3")'A3'Debug.Printa(i,1)&""&a(i,2)'Loop'选择翻译的范围'进行替换'注意保证字符编码正确'条件循环,将整个对译表的对应翻译全部替换。'Range("C5").Select'Selection.Cop

4、y'WithApplication.ReplaceFormat.Font'.Name="宋体"'.Subscript=False'EndWith'Cells.ReplaceWhat:="プロジェクト",Replacement:="项目",LookAt:=xlPart,_'SearchOrder:=xlByRows,MatchCase:=False,SearchFormat:=False,_'ReplaceFormat:=TrueTextBox1.Value="程序测试完毕!"MsgBox"日翻中已执行完毕!"EndSub'已完成步骤:过程的代入;文本框、消息框的试用;表值的

5、赋值;注释的加入;'未完成的步骤:变量的使用;表格的替换;字体编码的确保;条件循环语句的使用;能够恢复;要翻译文件的选择;问题补充:程序是凭自己水平尽力做出来的,高手可以帮忙揪一下错,如果看不懂也可以将程序重新设计一下。谢谢!希望各位帮忙的兄弟也可以拿一下具体的代码上来,谢谢!对我有用[0]丢个板砖[0]引用举报管理TOP回复次数:4wang405等 级:#1楼得分:0回复于:2008-10-0420:46:36我花了近一个小时给你又是写又是测试,终于弄出来了你要的.代码不长,但基本是你要的.Subfanyi()OnErrorGoTofanyierrDimcnAsStrin

6、g'中文DimjiAsString'日文DimmyrangeAsRange'用户选择区域Setmyrange=Application.InputBox("请选择需要翻译的单元格区域:","选择",Type:=8)IfNotmyrangeIsNothingThenn=Sheets("中日表").UsedRange.Rows.Count'中日表中A列日文,B列中文Ifn=1ThenExitSubIfMsgBox("你是否要执行文件翻译功能?",32+vbYesNo,"询问")=vbYesThenSheets("原文").CopyBefore:=Sheets("原文")Activ

7、eSheet.Name="备份"&Format(Date,"YY-MM-DD")&Format(Time,"hhnnss")'日期+时间不会重复Fori=2Tonji=Sheets("中日表").Range("A"&i)cn=Sheets("中日表").Range("B"&i)myrange.Interior.ColorIndex=3myrange.ReplaceWhat:=ji,Replacement:=cn,LookAt:=xlPart,_SearchOrder:=xlByRows,MatchCase:=Fal

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。