我正在使用以下 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
我想将文本文件从只读切换为读/写访问,然后在代码完成后返回只读。
理想情况下,我想通过设置密码来保护日志文件,尝试阻止用户手动更改该文件的读/写权限。
但我不确定这是否可能。
请有人能告诉我如何让这个代码做我需要的事情吗?提前致谢
最佳答案
我猜你正在寻找 SetAttr
Excel 中的函数。以下代码应该可以解决问题:
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
关于excel - VBA将文本文件设置为读/写然后返回只读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42761706/