如何在同一路径写入TXT文件且阻止记事本窗口更新内容
解决记事本窗口内容自动更新的问题
问题出在你始终复用同一个Temp.txt文件,当前Windows记事本会自动检测文件内容变化并刷新显示,后续写入的内容覆盖旧文件后,所有打开的窗口都会同步显示最新内容。
最可靠的解决方式是每次运行时生成唯一的临时文件,让每个记事本窗口对应独立的文件,避免互相影响。修改后的VBA代码如下:
Public Sub writeTxt(ByVal sOri As String) ' 用时间戳生成唯一临时文件名,避免重复 Dim sFFPath As String sFFPath = "D:\Temp_" & Format(Now(), "YYYYMMDD_HHMMSS") & ".txt" Open sFFPath For Output As #1 Print #1, sOri Close #1 Dim lOpen As Long lOpen = Shell("C:\WINDOWS\System32\notepad.exe " & sFFPath, vbNormalFocus) End Sub
也可以通过关闭记事本的自动刷新功能解决,但属于系统层面设置,通用性不如生成独立文件:
- 打开记事本后,点击顶部「查看」菜单,取消勾选「自动刷新」(部分Windows版本需先开启「查看」菜单里的「状态栏」才能看到该选项)
内容的提问来源于stack exchange,提问作者8平民
相关产品推荐
相关产品推荐

