使用VBA编程,Open FileName for Append as #1 的时候出错!

awenjie 2006-07-02 11:33:59
使用VBA做的界面小程序

在登陆的时候向一个Txt文件中写入登陆的日志

'curUserNaem 为当前登陆系统的用户名

Open ThisWorkbook.Path & "\ExcelLog.txt" For Append As #1
Print #1, "用户" & curUserName & "于" & Now & "登陆成功。"
Close #1

在运行到Open ThisWorkbook.Path & "\ExcelLog.txt" For Append As #1的时候出错,
有时候提示 “文件模式错误” 有时候提示“文件已经打开” 有时候是 “文件未找到”等

奇怪的是,在我编程的机器上运行一点问题都没有,正常写入日志

可是到另外一台机器 上就会出错,在很多机器上都存在这个问题。

找原因好多天了 一直没有找到。 请教各位高手!
...全文
1671 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
afei2003 2006-10-08
  • 打赏
  • 举报
回复
Sub 按钮3_单击()
fnum = FreeFile()
strFilePath = "G:\新建文件夹\test.csv"
sLines = "huxuming"
Open strFilePath For Output As #fnum
Print #fnum, sLines
'Write #fnum, sLines
Close
End Sub

当没有test.csv 的时候报错文件未找到,我手工创建一个test.csv 又报错文件模式错误。
高手进来看看啊~!!!!
msn:huxming1981@hotmail.com
qq:20617492
hwmfly 2006-10-07
  • 打赏
  • 举报
回复
我也遇到类似的问题,提示 文件找不到,但是使用output模式时文件没有会建立文件的阿,如果c:\aa.log 存在不会报错,在vb里也不会报错,就在EXCEL的vba中报错,代码如下
Private Sub CommandButton1_Click()
Dim a As Long

a = FreeFile
Open "C:\aa.log" For Output As a
Close a

End Sub
awenjie 2006-07-02
  • 打赏
  • 举报
回复
错误发生在 “Print #myFileHandle, "用户" & curUserName & "于" & Now & "登陆成功。"
” 这个语句!

awenjie 2006-07-02
  • 打赏
  • 举报
回复
谢谢您,我刚才使用了您提供的方法,代码如下:


'写登陆信息
myFileHandle = FreeFile
Open ThisWorkbook.Path & "\ExcelLog.txt" For Append As myFileHandle
Print #myFileHandle, "用户" & curUserName & "于" & Now & "登陆成功。"
Close myFileHandle

在我的机器上仍然没有错误,在另外一台机器上依然报错 “文件模式错误”!

调试模式下 检测文件号为1

请问是怎么回事?
yigepure 2006-07-02
  • 打赏
  • 举报
回复
估计是这个 #1,文件的序列号出错。使用FreeFile返回一个可用的序列号看看。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧