
1、首先需要确保Word的宏安全性设置至少为“中”(工具-宏-安全性-中)。\x0d\x0a2、在Word里面新建一个空白文档,给它随便取个名字(比如“我的
日志”)保存一下——这个文档就是你以后日志文档的开端了!(注意,如果你用的是Word 2007的话,需要保存为启用宏的文档*.docm)\x0d\x0a3、键入ALT+F11打开VBA编辑窗口,键入CTRL+R激活左边的“工程 _ Project”面板;\x0d\x0a4、双击工程面板中的“Project (我的日志)\Microsoft Word 对象\ThisDocument”打开代码窗口;
粘贴如下代码进去:\x0d\x0aOption Explicit\x0d\x0aDim oLogFileCreator As LogFileCreator\x0d\x0aPrivate Sub Document_Open()\x0d\x0aOn Error Resume Next \x0d\x0aSet oLogFileCreator = New LogFileCreator\x0d\x0aSet oLogFileCreator.WordApplication = Application\x0d\x0aEnd Sub\x0d\x0aPrivate Sub Document_Close()\x0d\x0aOn Error Resume Next\x0d\x0aSet oLogFileCreator.WordApplication = Nothing\x0d\x0aSet oLogFileCreator = Nothing\x0d\x0aEnd Sub\x0d\x0a5、选择菜单“插入-类模块”,然后在工程面板里双击这个刚生成的“Project (我的日志)\类模块\类1”,粘贴如下代码进去:\x0d\x0aOption Explicit\x0d\x0aPublic WithEvents WordApplication As Word.Application\x0d\x0a' 根据需要修改下面引号中的内容作为你日子文件的默认
前缀\x0d\x0aPrivate Const c_strFileNamePrefix = "我的日志_"\x0d\x0a\x0d\x0aPrivate Sub WordApplication_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)\x0d\x0aOn Error Resume Next\x0d\x0aDim fso As Object\x0d\x0aDim strOldName As String, strNewName As String \x0d\x0aSet fso = CreateObject("Scripting.FileSystemObject") \x0d\x0astrOldName = ActiveDocument.FullName\x0d\x0astrNewName = fso.BuildPath(fso.GetParentFolderName(strOldName), Format(Now, c_strFileNamePrefix &"yyyy-mm-dd.") &fso.GetExtensionName(strOldName)) \x0d\x0aIf UCase(strNewName) UCase(strOldName) Then\x0d\x0aActiveDocument.SaveAs strNewName\x0d\x0afso.DeleteFile strOldName\x0d\x0aCancel = True\x0d\x0aEnd If \x0d\x0aSet fso = Nothing\x0d\x0aEnd Sub\x0d\x0a6、可以根据需要修改代码中的日志文件名前缀。默认的日志文件名是类似 “我的日志_2009-09-12”这样的形式。\x0d\x0a7、键入F4打开属性面板,在里面把“(名称)”从“类1”改为“LogFileCreator”。\x0d\x0a8、键入ALT+Q关闭VBA编辑窗口返回Word文档窗口,保存,关闭。\x0d\x0a9、再次重新打开这个文档,如果Word提示是否启用宏,选择启用。\x0d\x0a10、现在你的这个自动按日期保存的日志就可以正常运作了。每次你做完修改后,只要你一保存,它就会根据今天的日期自动把文档保存成类似这样的形式“我的日志_2009-09-12”(前缀“我的日志”可以在上面代码中修改)。保存文件时,为了以后方便整理,常常需要重命名文件,加上时间前缀。
比如想要保存一个文件 jenkins.txt ,就重命名为 20181223_jenkins.txt 。
当文件数量很多或者需要多次进行此 *** 作时,每次都手动输入时间前缀就成为一件很麻烦的事情。
而这件事情可以用脚本去完成,重命名时,使用快捷键就可以快速把 20181223_ 这样的时间前缀加上去,而且时间前缀为当天的日期。
python;WinHotKey软件(或者其他可以定义快捷键的软件)
自动获取当天日期并进行粘帖 *** 作的脚本 time_current.pyw 如下:
注意脚本后缀为 pyw ,而不是 py ,原因在后面解释。
包 pyperclip 和 pyautogui 如果没有,可以通过 pip install pyperclip 和 pip install pyautogui 来安装。
脚本首先获取当天日期,然后模仿系统的 Ctrl+v *** 作,来执行粘贴 *** 作。
把脚本命名为 time_current.pyw ,之所以使用了 .pyw 而不是 .py 的后缀,是因为 .py 文件在执行的时候会有d窗,会使原来的光标处失去焦点,而没有产生粘贴内容。 .pyw 文件由 pythonw.exe 来执行,不会产生d窗(no window),从而可以在光标处产生粘贴内容。
此处采用 WinHotKey 软件为刚刚的脚本设置快捷键。
如下图所示,为脚本设置了快捷键 Win+Y
以后只要想在光标处,粘贴时间前缀,只要按下快捷键 Win+Y 即可。
重命名时,也可以在光标下粘贴时间前缀。
评论列表(0条)