这个不能算瞎折腾,也算是被逼的没办法了。从接手webgame开始,看到那么多的excel文件被翻译为繁体,我的头就没小过。现在因为新版本的问题又得重新翻译一次,经历过上一次惨痛的过程,这一次变懒了。

 

大陆内地使用的是简体中文,台湾地区使用的是繁体中文,我们将游戏中用到的配置和所有需要汉化的文字提供给台湾合作伙伴,他们翻译后再回传给我们。实际上面对那么大的工程,是不可能所有内容都一个一个去看的,所以采用的是word或是excel自动的简转繁功能,但这样的方式带来了比较致命的问题,合作方往往在你重新生成配置文件后,测试过程中发现一些文字需要重新替换,出现这种情况的原因主要是在于台湾地区的方言和大陆所使用的描述不一样。比如“充值” –> “储值”、“信息”-> “訊息”、“设置”->“設定”等等,很多…,还有就是一段任务的描述,对方在测试时也觉得要进行修改、调整,这个时候也得重新生成,然后打包、上传、更新版本号…

 

之前因为这个,曾经用.net写过一个查找指定文件夹下所有文件(包含excel)的小应用程序,检测后生成一个html,里面重点标识出匹配到输入文字的文件(支持点击打开该文件)。现在是先让对方提供一个转换库,比如上面说的,然后写程序将所有需要检测的文件进行替换(重点是excel),因为游戏中需要用到的excel文件异常多,近200个左右。数量倒不是很大,但重点是一个excel中的某一个sheet可能就超过1万行的数据了。

 

最初想法是觉得很简单,只是替换而已,就想用php去做这件事,可到后来发现php使用phpexcel这个库对excel读取的时候,遇到中文,特别是繁体中文时问题多多,基本上不能读取完一个文件夹下的excel文件,自行中断了。然后想想说用vbs写个程序吧,毕竟有近200个文件呢,不太想写个宏,然后把一百多个文件打开都来执行一个这个宏命令。

 

写的时候遇到了一些问题,比如在切换写javascript、vbscript和actionscript的时候容易犯小错误,二就是对vbscript操作dom不熟悉,三就是需要找到可以让循环在跑的过程中能sleep,因为文件过多,循环无法避免而且是很漫长的过程,必须要用到sleep。写是写完了,不过整个跑的效果并不理想:太慢…

 

假设平均一个excel文件为 15列 * 10000行,如今有超过185个这样的excel文件,那么大约有 27,750,000(近三千万次循环),不包含读取文件,以及循环再去替换它的内容然后写入内容的操作。下一步是要优化这个工具,因为以后它会被经常用到,先放一下工具大致实现(使用的是hta,可以本地直接运行)

>

 

运行起来的效果图大致如下图所示:

使用vbscript替换excel文件的内容

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
  • 2021-06-15
  • 2022-12-23
  • 2021-08-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-20
  • 2022-02-19
  • 2022-12-23
  • 2021-05-22
  • 2021-07-04
  • 2021-10-22
相关资源
相似解决方案