交标书前一晚,我盯着Word文档的“属性”面板发呆,屏幕上那行“总编辑时间”显示的是27个小时,而我实际从头到尾也就断断续续写了三个下午。客户要是看到这个数字,估计得琢磨我是不是在文档里住下了。说实话,这种细节平时没人注意,可真到较真的时候,它比正文里的错别字还扎眼。

当时我就想找个法子把这个时间给改了,网上一搜,跳出来一堆讲啥的都有,什么改注册表、用命令行、写脚本……我挨个试了一遍,折腾到后半夜,眼睛都花了。你说这事儿也不复杂,咋就没个简单办法?后来还是一个做行政的朋友看不下去,甩了个工具给我,这才算把这事儿给拿下了。

这软件叫“汇帮元数据编辑器”,名字听着挺唬人的,实际用起来倒是没我想象中那么复杂。我那天试着试着,发现它不光能改Word,Excel那些文件的属性时间也能一并处理,用不着再去挨个找别的法子。

百家号头图先说下载那步。你在搜索框敲“汇帮元数据编辑器”,进官网把安装包弄下来,双击之后一路点“下一步”就行,这步没啥好说的,跟装QQ差不多,闭着眼都能搞定。

图片 装完打开,界面倒是挺清爽,左边功能列表码得整整齐齐。我一开始还寻思得翻半天才能找到入口,结果一眼就瞄到了“office文件属性编辑”这个模块,点它就对了。界面长这样,你们看个大概就行:

图片进去之后就是往里头加文件了。我当时是把文档直接拖进去的,省事。你们也可以用【添加文件】或者【添加文件夹】的功能来选,支持批量选,要是手上文件多,一口气全塞进去就行。看这个界面,我那天可是对着它研究了好一会儿:

image.png 文件加载完,右边会显示一堆跟文档相关的信息,什么作者、创建时间、修改时间……一堆我不太看得懂的东西。这里得留意一下,你需要在右侧属性面板往下滚,找到“总编辑时间(分钟)”这一栏,英文名是TotalEditingTime,别找岔了。旁边有个小铅笔图标,点它就能进入编辑状态。我头一回愣是没注意到这个小图标,鼠标在上面晃了半天,真是服了自己。你们看图就懂了:

image.png 点开之后把原来的数值清掉,直接输入你想要的分钟数就行。这里有个小坑得提醒一句:单位是分钟,不是小时。有回我寻思填个“2”,结果属性面板里显示的是2分钟,我实际想要的是2小时……所以说,要是想改成90分钟,就老老实实填90:

image.png输入完数字,下面有两个保存的按钮,一个叫【保存到当前文件】,另一个叫【批量保存到所有文件】。前者的意思是只改你选中那个文档的,后者的意思是左边列表里头所有文件全都改成这个数,这个应该不用我多解释了。保存是直接写进源文件的,不用另外另存。 保存完了,软件内应该会显示修改后的状态:

image.png不放心的话,可以再回到电脑的文件管理器里,右键那个文档,点属性,弹出的窗口里就能看到总编辑时间已经是改过的数值了,跟软件里显示的一致。我开始还半信半疑,怕软件只是在界面上改了,没动文件本身,自己亲自去验证了一遍才放下心来。看下面这张图,就是我验证时候的系统属性截图:

image.png最终确认也简单,右键属性看一眼,成了:

image.png这个方法我用了是没毛病,不过我也得说句实话,它属于“治标不治本”的法子,改的是文件属性里存着的一个计数,不是动了系统时间设置。

说到这儿,如果你们有编程基础,其实还有个不用装软件的办法,用Python也能改。思路是利用python-docx这个库,对docx文件本身就是个zip包的原理,直接改里面的docProps目录下的core.xml文件,把totalTime标签里的数值替换成你想要的分钟数。但这个方法得写几行代码,还要熟悉命令行操作,我说实话,不如上面那个软件直观方便。如果你熟悉python的话,可以用下面的代码试试:

import zipfile
import re

def modify_total_time(docx_path, docx_output, minutes):
    with zipfile.ZipFile(docx_path, 'r') as zin:
        items = zin.namelist()
        new_items = []
        for item in items:
            data = zin.read(item)
            if 'docProps/core.xml' in item:
                text = data.decode('utf-8')
                text = re.sub(r'<totaltime>[^<]*</totaltime>', f'<totaltime>{minutes}</totaltime>', text)
                data = text.encode('utf-8')
            new_items.append((item, data))
    with zipfile.ZipFile(docx_output, 'w', zipfile.ZIP_DEFLATED) as zout:
        for item, data in new_items:
            zout.writestr(item, data)

modify_total_time('original.docx', 'modified.docx', 60)

用的时候把original.docx换成你的文档名,填入你想设定的分钟数(比如90),运行后就会生成一个新文档modified.docx,这个新文档里头的总编辑时间就会有所变化。

不过,这法子吧,得依赖系统里装了python环境,还要留意替换完之后文档结构别被弄坏了,得先备份。像这种小库一操作,万一影响了别的地方,那就挺耽误事的,我自己碰到这种情况往往就直接用上面的软件了。

还有个更进阶的思路是直接改二进制偏移,但那需要更深入的文件格式知识,我平时用不上,就不多说了,免得讲不清楚误人子弟。

今天把这个法子分享出来,也是想省得你们跟我一样,白熬半宿找办法。要是你们在操作的时候碰到啥问题,评论区喊我,我只要能帮上忙的肯定说两句。得,这篇就到这儿,我还得去把之前那些改过的文档再检查一遍呢。