Tenho um arquivo grande de texto, linha por linha, terminado com chr(13) no Windows. Quero armazenar o texto no campo memo do arquivo mdb do Access, que tem um limite máximo de tamanho de apenas 64 KB.
O arquivo de texto contém caracteres Unicode.
Como posso usar o método de entrada de linha do VB6 para dividir o texto em vários arquivos? Ou existe uma alternativa melhor para fazer isso em vez de escrever um programa?
Exemplo de texto:
1 00:00:01,960 --> 00:00:04,880 哦哦,向前一迎就上
2 00:00:04,880 --> 00:00:07,600 去。我都跟你讲,拉球摩擦是需要
3 00:00:07,600 --> 00:00:10,480 顶,没有顶它,它不是一个
4 00:00:10,480 --> 00:00:13,280 单纯的往上的动作,它需要一边
5 00:00:13,280 --> 00:00:16,240 往前顶,找到球的时候给一个小的动
Public Sub splitFile()
Dim i, t1, t2, c1, c2, k As Long
Dim TextLine, OutLine
Dim thisfile
Dim partCount
thisfile = "speechByParts.txt"
partCount = 0
OutLine = ""
Open thisfile For Input As #1 ' Open file.
Do While Not EOF(1) ' Loop until end of file.
Line Input #1, TextLine ' Read line into variable.
Debug.Print TextLine
OutLine = OutLine & TextLine & Chr(13)
If Len(OutLine) > 60000 Then
partCount = partCount + 1
WriteFile "speechByParts" & partCount & ".txt", OutLine
OutLine = ""
End If
Loop
If OutLine > "" Then
partCount = partCount + 1
WriteFile "speechByParts" & partCount & ".txt", OutLine
End If
Close #1 ' Close file
End Sub
Existem duas maneiras comuns de ler e escrever arquivos de texto contendo Unicode: usar o File System Object (FSO) ou usar ActiveX Data Objects (ADO). Aqui está um exemplo usando ADO. Para simplificar, o código grava cada linha do arquivo de entrada em um novo arquivo. Você precisará definir uma referência à `Microsoft ActiveX Data Objects 2.8 Library`.