- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2025-7-5
|
本帖最後由 luhpro 於 2010-12-16 00:14 編輯
回復 2# Min
我主要的用途是要寫到 二進位檔 內,
而不是想顯示出來文字,
我試過在同一台電腦中用 C 語言 用 chr() 函數寫入該字元到 二進位檔 是沒問題的.
主要是在公司 Excel 軟體直接可以使用,
但 C 礙於版權問題在公司不能安裝及使用.
此前也已經實現成功其反向作業 : 從二進位檔中還原出本來的數值 :
Sub Main()
Dim iColumn%, iRow%
Dim bData As Byte
Dim lPosition As Long
Close
With Sheets("Sheet1")
lPosition = 1
Open "C:\test.bin" For Random As #1 Len = 1
iColumn = 1
iRow = 1
While Not EOF(1)
Get #1, lPosition, bData
.Cells(iRow, iColumn) = bData
iColumn = iColumn + 1
If iColumn > 256 Then
iColumn = 1
iRow = iRow + 1
End If
lPosition = lPosition + 1
Wend
Close #1
End With
End Sub
我猜測在 MS 的 Basic 上實作應該也不會有問題,
是否是我之前所用的方式錯誤,
亦或有可能是 Excel VBA 本身就實現不出來呢?
----------------------------------------------------------------
補充 :
剛剛又試著用 Random 檔的方式實做成功 :
Sub Main()
Dim iI%
Dim bChar As Byte
Dim lPosition As Long
Close
lPosition = 1
Open "C:\test1.bin" For Random As #1 Len = 1
For iI = 255 To 0 Step -1
bChar = iI
Put #1, lPosition, bChar
lPosition = lPosition + 1
Next iI
Close #1
End Sub
但不知 Binary 檔 (循序寫入, 不用管下個資料要寫到檔案中的第幾個位置) 的開啟方式又要如何實作呢? |
|