- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用VBA制作Excel翻译程序
用VBA制作Excel翻译程序。
Lib是中日对译表名。
UserForm是用户界面,以下有选择要翻译表名的选项,“日翻中”、“中翻日”、“中日对译表维护”等三个按键。
功能一览:
1 程序的调用。
2 应用界面。
3 对译表的建立。
4 每一个单词的替换(可用宏录制)
5 更换下一个单词,直到所有单词都替换完成,需要循环语句。(难点)
5.1 更换关键字。(不知怎么会出错,说下标越界,不能排错。卡在这里了)
5.2 换成下一个关键字,用循环语句。(还没做到这一步,有一定难度,不过应该能解决吧)
6 问题出现:单词替换时,不能Ctrl+Z返回上一步状态。防止替换错误,需要提前备份。(现在先不管这一步了,先把程序做出来再说)
编程设计:
我写了一下VBA,但是试运行时出现下标越界的报错,但不知怎么纠错。请各位大侠帮忙!!!
Private Sub UserForm1_tran()
MsgBox 程序测试开始!
Sheets(Temp).Cells(1, 1).Value = 1
Temp是要处理的文档,可改名。
Lib是字典库。
Do
Dim MyRange As Range
MyRange = Sheets(lib).Range(A1)
Sheets(temp).Cells(A2) = Sheets(lib).Range(MyRange).Value
If ActiveSheet.Cells(1, 6).Value = Then
Quit
End If
变量的使用:错误方式:n=单元格的值;另一个值等于=n。
正确方式:n=单元格的位置,另一个单元格的值=n位置的值。
Dim n
n = Sheets(lib).Cells(A3) A3
Debug.Print a(i, 1) a(i, 2)
Loop
选择翻译的范围
进行替换
注意保证字符编码正确
条件循环,将整个对译表的对应翻译全部替换。
Range(C5).Select
Selection.Copy
With Application.ReplaceFormat.Font
.Name = 宋体
.Subscript = False
End With
Cells.Replace What:=プロジェクト, Replacement:=项目, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True
TextBox1.Value = 程序测试完毕!
MsgBox 日翻中已执行完毕!
End Sub
已完成步骤:过程的代入;文本框、消息框的试用;表值的赋值;注释的加入;
未完成的步骤:变量的使用;表格的替换;字体编码的确保;条件循环语句的使用;能够恢复;要翻译文件的选择;
问题补充:程序是凭自己水平尽力做出来的,高手可以帮忙揪一下错,如果看不懂也可以将程序重新设计一下。谢谢!
希望各位帮忙的兄弟也可以拿一下具体的代码上来,谢谢!
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 回复次数:4
wang405
等 级:
#1楼 得分:0回复于:2008-10-04 20:46:36我花了近一个小时给你又是写又是测试,终于弄出来了你要的.代码不长,但基本是你要的.
Sub fanyi()
On Error GoTo fanyierr
Dim cn As String 中文
Dim ji As String 日文
Dim myrange As Range 用户选择区域
Set myrange = Application.InputBox(请选择需要翻译的单元格区域:, 选择, Type:=8)
If Not myrange Is Nothing Then
n = Sheets(中日表).UsedRange.Rows.Count
中日表中A列日文,B列中文
If n = 1 Then Exit Sub
If MsgBox(你是否要执行文件翻译功能?, 32 + vbYesNo, 询问) = vbYes Then
Sheets(原文).Copy Before:=Sheets(原文)
ActiveSheet.Name = 备份 Format(Date
文档评论(0)