我在网上看到下面这段代码,可以用unicode的方式写入文本文件(正是我需要的功能)
Private Sub Command1_Click()
  WriteToTextFile "c:\unicode.txt", Text1.Text, "unicode"
End SubSub WriteToTextFile(FileUrl, ByVal Str, CharSet)
  Set stm = CreateObject("adodb.stream")
  stm.Type = 2
  stm.mode = 3
  stm.CharSet = CharSet
  stm.open
  stm.WriteText Str
  stm.SaveToFile FileUrl, 2
  stm.flush
  stm.Close
  Set stm = Nothing
End Sub
我经过简单的试验,发现每次只能创建新的文件,无法用append方式追加内容到已有的文件,希望朋友们给与指点,谢谢。
另外,我之前用下面的方式,可以append,但是不知道怎样实现按照unicode的方式存储文件
Open outputfilename For Append As #1
...
Print #1, line_content

解决方案 »

  1.   

    Append 改成 binary去就行了
    然后先seek到文件最后, 在put byte() 就行了
      

  2.   

    to pigsanddogs:
    谢谢回复。请问怎样用seek()到文件的最后?我是初学,请多指教。
      

  3.   

    Private Sub Command1_Click()
        Open "d:\test.txt" For Binary As #1
        Put #1, LOF(1) + 1, b
        Close #1
    End Sub
      

  4.   

    to aspower:
    谢谢回复,非常抱歉,今天才看到。
    但是我按照开心海的方式,无法做到存成unicode的方式,我的目的有2个:
    1. 按照unicode的方式存成文本文件
    2. 存储的时候可以用append的方式,而不是覆盖再次感谢各位朋友的热心回复。
      

  5.   

    unicode有个文件头的 好像是2字节 &Hff &hfe
    你第一次写unicode的时候需要把头写上.
      

  6.   

    加头两个字节if LOF(1)=0 then
        dim arr(1) as byte
        arr(0) = &HFF
        arr(1) = &HFE
        put #1,,arr
    end if很久不用VB了,不知道是不是这样写