1、用VBA打开一个文件,需要在文件的最开始处,追加一些字符串,2、例如文件原先是
<TS>
<defaultcodec>GB2312</defaultcodec>3、我想在文件头上追加(不是覆盖)新的内容<!DOCTYPE TS>4、期望结果是
<!DOCTYPE TS><TS>
<defaultcodec>GB2312</defaultcodec>5、目前我的做法是写把文件以二进制的形式读取出来,转换为UNICODE的字符串,然后把该字符串前面加上我想要的字符,再重新把组合的字符写回文件中,可是我文件里面的中文,会出现乱码6、请问有什么好的办法实现我的功能
在线等,谢谢!
<TS>
<defaultcodec>GB2312</defaultcodec>3、我想在文件头上追加(不是覆盖)新的内容<!DOCTYPE TS>4、期望结果是
<!DOCTYPE TS><TS>
<defaultcodec>GB2312</defaultcodec>5、目前我的做法是写把文件以二进制的形式读取出来,转换为UNICODE的字符串,然后把该字符串前面加上我想要的字符,再重新把组合的字符写回文件中,可是我文件里面的中文,会出现乱码6、请问有什么好的办法实现我的功能
在线等,谢谢!
'//你试试这个代码
Private Sub Command1_Click()
Dim s As String
Open "C:\Test.txt" For Input As #1
s = StrConv(InputB(LOF(1), #1), vbUnicode) '将文件内容附给变量 S
Close #1
s = "<!DOCTYPE TS>" & s '//添加
Open "C:\Test1.txt" For Output As #2
Print #2, s
Close #2
End Sub
追加处理后,你用XML的工具打开,注意中文的地方有乱码出现
<TS>
<defaultcodec>GB2312</defaultcodec>
<context>
<name>QCdlATCOutputWdg</name>
<message>
<source>¹¤¾ßºÅ</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>ATC ¶¯×÷</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>°ÑÖ÷ÖáÉϵŤ¾ß±£´æµ½µ¶¿âÖУ¬°ÑÖ¸¶¨µÄ¹¤¾ß°²×°µ½Ö÷ÖáÉÏ.</source>
<translation type="unfinished">把主轴上的工具保存到刀库,把指定工具安装到主轴上.</translation>
</message>
<message>
<source>ÊäÈ빤¾ßºÅ£¬°´Ñ­»·Æô¶¯</source>
<translation type="unfinished">输入工具号,按【循环启动】。</translation>
</message>
</context>
</TS>
原来你那是ts文件啊,不知道能不能先写成txt再重命名为.ts文件啊,呵呵!
Dim s() As byte
dim sOutput as string
Open "C:\Test.txt" For Input As #1
redim s(lof(#1))
get #1,,s
Close #1
sOutput = "<!DOCTYPE TS>" & s '//添加
Open "C:\Test1.txt" For Output As #2
put #2,,sOutput
put #2,,s
Close #2
End Sub