我被要求複製由以下Excel VBA代碼發送的文件。問題在於導出「for」循環中包含的數據。數量「.111」正在寫入導出文件中,爲「øSã=」,「.222」正在寫爲「øSc>」,而「.333」正在寫爲「ú〜ª>」。文件導出 - 奇怪的字符
我不完全確定這裏發生了什麼。但是,我發送數據的目標遺留系統的任何速率都能夠正確讀取這些數據(即將其轉換回原始值)。
有沒有人有任何想法是怎麼回事,以及如何複製這種行爲,以便我的文件可以被讀取?
Type Rigo_File
Status As Integer
Invio As Integer
Codice As String * 13
Quantita As Single
Udm As Integer End Type
Type type_file
Partita As String * 10
Macchina As String * 25
articolo As String * 25
colore As String * 25
note As String * 25
urgenza As Integer
Invio As String * 3
Righi(20) As Rigo_File
End Type
Dim NrOpen As Integer
Dim NomeFile As String, NomeFileTmp As String
Dim Rigo_File
Dim type_file
Dim typeM As type_file
Dim c As Integer
Sub CREATEFILE()
FILEDIR = "C:\"
FILENAMEE = "TESTFILE1.txt"
Partita = Right(Cells(1, 3), 10)
Macchina = Left(Cells(2, 3), 25)
articolo = Left(Cells(3, 3), 25)
colore = Left(Cells(4, 3), 25)
note = Left(Cells(5, 3), 25)
urgenza = CDbl(Cells(6, 3))
With typeM
.Partita = Partita
.Macchina = Macchina
.articolo = articolo
.colore = colore
.note = note
.urgenza = urgenza
.Invio = "001"
For ci = 1 To 20
.Righi(ci).Status = True
.Righi(ci).Invio = 1
.Righi(ci).Codice = Cells(8 + ci, 2)
.Righi(ci).Quantita = Cells(8 + ci, 3)
.Righi(ci).Udm = 1
Next ci
End With
NrOpen = FreeFile
On Error GoTo 0
Open FILEDIR & FILENAMEE For Random Access Write Shared As #NrOpen Len = Len(typeM)
Put #NrOpen, 1, typeM
Close #NrOpen
結束子
如果數據正在被正確讀取,那就不用擔心了,但我會在內存中查看數字的表示形式:http://stackoverflow.com/questions/13663026/how-to-represent-floating -point-in-binary-ieee – SeanC