Sub opencas()
Dim filename, zlong
' On Error Resume Next
filename = prjname & ".cas"
Open filename For Input As #1
If Err Then
MsgBox "不能打开文件: " + filename
Exit Sub
End If
' 改变鼠标指针显示类型为沙漏。
Screen.MousePointer = 11
If FileLen(filename) > 65000 Then
MsgBox "文件太大,无法打开。"
Exit Sub
End If
Frmtext.rtext.Text = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
' 重新设置鼠标指针。
Screen.MousePointer = 0
WriteRecentFiles (filename)
Frmtext.Show
End Sub
上述代码不能打开一个.cas的小文件,但将filename修改后能打开一个其他更大的文件
两文件都不到50K?
Dim filename, zlong
' On Error Resume Next
filename = prjname & ".cas"
Open filename For Input As #1
If Err Then
MsgBox "不能打开文件: " + filename
Exit Sub
End If
' 改变鼠标指针显示类型为沙漏。
Screen.MousePointer = 11
If FileLen(filename) > 65000 Then
MsgBox "文件太大,无法打开。"
Exit Sub
End If
Frmtext.rtext.Text = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
' 重新设置鼠标指针。
Screen.MousePointer = 0
WriteRecentFiles (filename)
Frmtext.Show
End Sub
上述代码不能打开一个.cas的小文件,但将filename修改后能打开一个其他更大的文件
两文件都不到50K?
open "文件" for binary as #1
redim fbyt(lof(1)-1)
get #1,,fbyt
close #1Frmtext.rtext.Text = strconv(fbyt,vbunicode)
Frmtext.rtext.Text = Input(LOF(1), 1)
2、该文件足够小,反正能用记事本打开
3、Frmtext.rtext.Text = Input(LOF(1), 1)也报同样的错误。
Put #1, , "abc"
Put #1, , Chr(0) '写入一个 chr(0) 特殊字符
Put #1, , "123"
Close #1'以上代码生成的 aa.txt 可以用记事本打开Open "e:\tmp\aa.txt" For Input As #1
Debug.Print StrConv(InputB(LOF(1), 1), vbUnicode) '此处报错,如果不写 chr(0)则不会
Close #1所以读文件保险的办法应该是 binary 方式,除非你能确定它的格式或它不含特殊字符。