VBA将文本文件设置为读/写然后再返回只读?

时间:2017-03-13 10:47:20

标签: excel vba

我使用以下vba代码写入文本文件。

'Create log file
Dim FF
FF = FreeFile()
Open "G:\WH DISPO\(3) PROMOTIONS\(18) L.O. Delivery Tracking\Reports\LogFile.txt" For Append As #FF
Print #FF, Now() & " - " & Application.UserName & " accessed the Delivery Tracker."
Close #FF

我希望将文本文件从只读切换到读/写访问,然后在代码完成后再切换回只读。

理想情况下,我想尝试阻止用户手动更改此文件的读/写权限,方法是设置密码以保护日志文件。

但我不确定这是否可能。

有人可以告诉我怎么做这个代码来做我需要的吗?提前致谢

1 个答案:

答案 0 :(得分:0)

我猜你在Excel中寻找SetAttr函数。以下代码应该可以解决问题:

Dim FF
FF = FreeFile()
SetAttr "G:\WH DISPO\(3) PROMOTIONS\(18) L.O. Delivery Tracking\Reports\LogFile.txt", vbNormal
Open "G:\WH DISPO\(3) PROMOTIONS\(18) L.O. Delivery Tracking\Reports\LogFile.txt" For Append As #FF
Print #FF, Now() & " - " & Application.UserName & " accessed the Delivery Tracker."
Close #FF
SetAttr "G:\WH DISPO\(3) PROMOTIONS\(18) L.O. Delivery Tracking\Reports\LogFile.txt", vbReadOnly

有关详细信息,您可能需要阅读MSDN上的以下内容: https://msdn.microsoft.com/en-us/library/a5wx7516(v=vs.90).aspx