VBA编程 求助
有2个excel表,一个是日文文档,一个是中日文对照表,要求写一个VBA程序调用这个表,将日文文档中的关键字替换成中文,中日表中,中文和日文分别在A列和B列,(要求是多个sheet页都可以用),谢谢大神。 --------------------编程问答-------------------- 你这样做使用起来效率就低了,先把两者做成一个完整的对照表保存下来,然后加载到内存中给查询调用,这样对于大量查询替换而言效率更改一下。用伪代码写一下实现你描述功能的方法:
Function String GetChinese(string jp, WorkBook wbJP, WorkBook wbCN)
' 获取位置 (sheetIndex, rowIndex, cellIndex)
int i, row, col
for i = 1 to wbJP.WorkSheets.Count
WorkSheet ws = wbJP.WorkSheets[i]
for row = 1 to MAXROWS '最多的行数
for col = 1 to MAXCOLUMNS '最多的列数
string text = ws(row, col)
if text.length = 0 then goto NEXTROW '遇到空的内容表示一行处理完成,结束本行处理
if text = jp then GetChinese = wbCN.WookSheet[i](row, col) '找到匹配内容了,返回对应中文内容
next col
NEXTROW:
if ws(row + 1, 1).length = 0 then goto NEXTSHEET '遇到空的内容结束本WorkSheet处理
next row
NEXTSHEET:
next i
GetChinese = jp '没有匹配内容,返回输入字符串
End Function
--------------------编程问答-------------------- 正在用你的代码实验下。。 --------------------编程问答--------------------
还是别用伪代码吧,我希望的前提就是有2个工作表,一个工作表中中日文对照都写好了,我自己会写中日表和原文在一个工作表中的,不会在2个中的,但实际工作要用的就是2个工作表。。求写明白点 我是菜鸟啊 --------------------编程问答-------------------- 要 excel 去干这样的事情真有点免为其难了,为什么不用数据库呢? --------------------编程问答-------------------- 那我怎么把这个中日表变成数据库,,这些东西都是我们自己整理的,现在想要实现自动翻译。。求指点下 --------------------编程问答-------------------- 1. 将你的翻译Excel的两列加载到数组;
2. 将需要转换的Excel的内容逐个Cell提取文本,与数组进行比对查找和替换;
3. 将替换后的文本输出到结果Excel。 --------------------编程问答--------------------
谢谢,这个方法感觉可行,我明天试试。。不过估计会出很多错误,vb菜鸟一个。。
补充:VB , VBA