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

标签 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

我想将文本文件从只读切换为读/写访问,然后在代码完成后返回只读。

理想情况下,我想通过设置密码来保护日志文件,尝试阻止用户手动更改该文件的读/写权限。

但我不确定这是否可能。

请有人能告诉我如何让这个代码做我需要的事情吗?提前致谢

最佳答案

我猜你正在寻找 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/

相关文章:

vba - Excel 2016 VBA 中的 Vlookup 函数

vba - 定义对象在excel表中的位置

vba - 使用 Excel PrintOut 方法时如何防止打印对话框

python - 在 vba 和 python 中自动进行工作簿计算

Excel 行混合

vba - Excel vba : Why doesn't the screen update, 在关闭屏幕更新之前更新单元格

c# - NPOI - 如何区分日期时间格式的数字 Excel 单元格 (c#)

vba - 引用表的 .DataBodyRange 的特定范围

c# - 使用 OpenXmlWriter SAX 创建带有样式标签的 Excel 文件

class - 如何在 VBA 中循环遍历类属性