文字檔轉成有間隔符號的文字檔(編號:3039)

1)先前本人也發表類似主題文章,無人回覆,此次再貼此一主題,尋求個中
高手解惑。
2)本人對於有關的文字檔轉入資料表方式,為了資料正確性,採取迂迴方
式,為文字檔-->有間隔符號的文字檔-->暫時資料表-->正式資料表
3)如下列所示,在文字檔轉入有間隔符號的文字檔時,如E欄文字因有中
文字,採取非常奇異去除法,取得其字串,若其它欄位也是中文字時,
則利用去除法,可以會有問題。
'
While Not txtf1.AtEndOfStream
  strX = txtf1.ReadLine
  intLength = Len(strX)
  
  strY = Right(strX, 22)
    
' 0     1     2     3     4
' 12345678901234567890123456789012345678901234567890
'
' AY101615  大山    TW00016150032000/03/30
' AY101471  首利實業  TW00014710012000/03/06
' AY31A89109 89央債甲九 TW000A8910932000/03/14
' AY1A0590  中信07   TW00005900092000/03/16
'
' ABC.D.......E...........F...........G.......

' 取其新增刪除(A:01碼)。
strField_AddDelete = Mid(strX, 1, 1)
' 取其是否存在(B:01碼)。
strField_Exist = Mid(strX, 2, 1)
' 取其類型編號(C:02碼)。
strField_KindNo = Mid(strX, 3, 2)
' 取其證券編號(D:08碼)。
strField_StockNo = Mid(strX, 5, 8)
' 因為證券中文簡稱中英夾雜,從新計算其長度。
strX = Mid(strX, 13)
intLength = Len(strX)
' 取其證券中文簡稱(E:12碼)。
strField_StockName = Mid(strX, 1, intLength - 22)
' 取其國際證券辨識號碼(F:12碼)。
strField_ISIN = Mid(strY, 1, 12)
' 取其匯入日期(G:10碼)。
strField_Date = Mid(strY, 13, 10)
●問題
請問高手,在實務上如何解決上述中文字串擷取?