2024年3月15日发(作者:)

维普资讯

实用第一 智慧密集 

0FJ溉文档局域网自动备份程序 

矫桂秋覃一宁徐薇 

摘要本文利用OFFICE办公软件的VBA功能,缟制出局域网上文档自动备份的程序,并 

配有相应的文件自动加密功能,使文档的备份管理更加轻松自如。 

局域网自动备份,VBA,OFFICE,文档 关键宇

●对于需要备份内容相似的不同修订版本文件的备份管 

理较麻烦; 

在病毒横行的今天,对计算机重要文件和数据的保护是计 

算机安全工作的重要课题。作为普通用户 Microsoft的OF- 

HCE系列软件是最常见的选择,因此在处理完各种文档和电 

子表格等各类文件后的文档备份工作也非常关键。随着各公司 

的内部局域网的普及,很多』、都选择通过“网上邻居”将重要 

●由于“网上邻居”的相对开放性,服务器文档的保密性 

和安全性还不能完全保证; 

因此,如果能编制一个 自动备份系统 .并具备如下功 

能,就可 做到文档的备份管理高度自动化,大大提高日常文 

件管理的效率; 

的文件 共享的方式备份到局域网网络服务器上,这样既保证 

了在本机硬盘系统故障时能迅速恢复文件,又能做到在局域网 

上任何计算机上调用自己的文件。 

然而上述手工备份方法还是存在一些弊端: 

●备份麻烦,每起草或修改一个文档都需要选择“另存 

为”,容易出现疏忽遗捐; 

●完成一个OFFICE文档的编辑修改后,在关闭文件的同 

时可自动特文档备份到网络服务器上指定的位置; 

●对照文档的修改情况,将有改动的文档加上版本号保 

存; 

●文档自动加密码,网络服务器处可提供文件安全防护。 

lfIop:=4ll(op=:2&&cu rrent一>euid::0 

}This fuaction receives input f,0m the user when the user 

writes to the/proc file / 

retu rn 0. 

return—EACCES: 

, 当用户 ̄/proc中的又件写时 该函数将会从用尸Ll史 输 

A参数含义同module_output / 

static ssize t modulejnput(struet file}file,const char 

buf size

t length fof【j offset} 

_

void read ̄ohys mere_)/}从Ox400内存处开始读取256小 

字节 / 

, 

iati. 

/¥We need to retu rn the number of input characters 

used 一 

unsigned cha r v 

unsigned char buf【5】, 

如r(i=O l(256;l++} 

L 

return length; 

此函数 定以_。==操作是吾有效 有效返回0,百则王效 

0P=0 此文件可执j亍 

op=2此又件可写{input to the ke rnel modulel 

0p=4:此 哗可读foutput f,。m the kernel moc ̄ule J 

v=readb(Ox4O0+i) 

spdndIbuf, %02x 

printklbuf), 

ff ffff十】J%16:=0)』 

pfintk( \n }: 

v) 

此函数的王要功能是用于又件属性检查 争令

显示返回 属¨生 / 

s—l可 

} 

static int moduiej3ermission f struct inode inode.int op) 

由于本人写Linux moduXe的时问也不长.文中如有错误之 

以下语 表示我fi]容许任河A可以读该文件 

root{uid=0)可 写它{ 

口有 

处欢迎读者来EMail告之。独到之处请不吝与我分享。 

(收稿Et期:2001年12月2日) 

19 

维普资讯

实用第一 

自动备份源程序 

定义壮吝变量 

DIm 0Id

_

name 

DIm Old Station 

DIm Now ̄Station 

Dim Old.oath 

确定备份文档的网络文件麦.根据网结的实际1青 丰 定 

Const Backup ̄oath= c’\网络备份演示又伴熹¥ 

Sub Autoopen c] 

取得激活文档 又伴名和又伴路径 

O硼name=ActiveDocument Name 

Old_oath:ActiveDocument Path 

定位凇活文档路径并取得该文档的最后一次修改 问 

ChangeFileOpenDirecto ry Old oath 

0Id Station=FileDateTimef0Id name} 

End Sub 

Sub Autoclose c) 

出错后跳出运行 

0n Erro r GoTo 10 

取消又档属性保存设定 

Options SavePropertiesPrompt:False 

Re name=0Id name 

定位最新版本文件的路径并保存.同肘取得修改时1日_ 

ChangeFi EeOpenDi recto ry Old_oath 

ActiveDocument Save 

Now

_

Station=FileDateTime《Re_name) 

判定文档关闭和打开时的文档修改时间是否相局.相同则说明 

又档未作修改.无需再次备份 

否则将文档乔加版本号后备 

0Id-station(>Now Station Then 

备钟版本号以系统13期+系统时间获得.便于查找与检索 

last』ame=Str¥fDate)+Str¥cHou rfNow)}+Str 

¥《Minute{Now)J+Str¥fSecond cNow JJ 

len

_

name=LenfRe name} 

len

_

name=len

_

name——4 

防止新建文档名字过通造成错误 

”len

_

name(=0 Then ̄en name=fen

_

name+4 

组台形成带版本号 备份又档 

pe_name=Left(Re name.1en

_

name) 

fi

_

name=pe-name+last name+ doc 

确定备份又档的网络 件夹,根据网络的实际1青只牛 定 

ChangeFileOpenDi rectory Backupj3ath 

将备份又档加密码每^网络备份又伴夹中 

ActiveDocument SaveAs FileName:=fi name leFormat: 

wdFormatDocument LockComments:=False Password 

= 

hello .AddT0Rece n1Files:=FaIse.WritePassword:= . 

Read0nlyRecommended:=False EmbedTrueTVpeFonts= 

False.SaveNativePictureFormat:=False SaveFo rrnsData= 

False SaveAsAOCELetter=FaIse 

Endlf 

备份结束后将目录重新定位到文档的现存目录 

ChangeFileOpenDi rectory 0Id path 

10 En口Sub 

二、源程序要点分析 

为了达到自动备份功能.在Word的对象中采用了两个自 

智慧密集 

动宏: 

 .

Sub AutQopen()和sub Autoelose(),这两十宏分别在文档 

打开和文档关闭时自动运行,完成自动备份功能。 

为了判定文档修改情况再做保存,程序定义了如下变量: 

OlsLname为编辑文档的原名{Old Station为文挡打开后未做 

修改的状态;H n为编辑文档在关用前的状态: 

Old,oath为编辑文档的原始路径;同时用c。n Backup4oath 

“c:、网络备份演示文件夹¥ 定义了备份文件夹的路径, 

本程序为了演示方便,采用了以上路径。在实际使用中选取类 

似于“\、Weh ̄ccer\NetBackUP”确定备份文档的髑络文件 

夹.根据网络的实际情况定位到网络服务器的相关位置。 

当文档打开时,Sub Auteopen()宏自动执行,读取文档直 

接打开后的状态,用AetlveDocument.Name和AcfiveDocu. 

merit.Path取得激活文档的文件名和文件路径;并通过Change— 

FileOpenDireetory Old4oath定位激活文档路径,然后用File— 

DateTime(Old ̄anm)取得该文档的最后一次修改时间。 

当文档关闭时,Sub Autoclese()执行ChangeFfleOpenDi. 

d呵OM ̄ath定位最新版本文件的路径,并通过AcfiveDoc ̄- 

ment.Save保存文件的修改,然后再次使用FileDateTime 

(Rejmme)取得文件的最新修改时间; 

接下来将文档打开时取得的Old Station和文档关闭时取得 

的New.Statoin作比较,若两次时间相同,说明该文档未做修 

改,则系统无需备份,避免了重复备份的问题 

若两次时间不同,说明文挡已经修改,则程序翔定需要备 

份 此时通过语句:l鹕uIaJI.e=Str¥(Date)+Str¥(Hour 

(New))+StrS(Minute(Now))+st礴(Second(Now))将文件关 

闭时的“系统日期和系统时间 作为版本号加在原始文档名后 

作为备份文件的文件名.如“OFFICE文档网络备份程序的实 

现0l一7—25 l5 54 33 dec”,其中为“Ol一7—25”日期, 

“l5 54 33”为文件关闭的系统时间.这样产生的文件名可以 

清楚地反映文件修改的先后情况,便于检索和查找。 

在选择程序备份位置时,首先通过ChangeFileOpenDireeto- 

ry Baekup4oath定义备份路径;定位后,程序执行Acdve1)ccu— 

merit.SaveAs方法备份到指定位置 其中Password:=“helle”, 

将文档的打开密码“heuo”加在文档中,达到文件保密的目 

的;AddToRecentFiles:=False,设定可以保证不将备份文件的 

路径和文件情况加入Word和Windows系统的“最近使用文 

件”目录中.避免对正常使用的干扰。 

备份结束后通过C}mngeFileOpenDin ̄ctory Old4oath将目录 

重新定位到文档的现存目录,避免执行“打开”和 另存为” 

等指令时造成干扰 

三、程序调试与运行 

以上程序的调试环境在OFFICE系列软件的Microsoft vi- 

sum basic(VBA)环境下调试运行通过,其完整步骤如下: 

●定义备份文件夹的阿络路径 

维普资讯

实用第一 

在定义网络路径时在服务器上根据个人需要建立一个文件 

夹,并且 ¥结尾,例如 c:\NetBackup¥”等.设置共享功能 

并加上密码;此处有一技巧.即目录名后加“¥”,则该目录 

在 网上邻居”上无法显示.但可以通过输人目录路径进行访 

智慧密集 

●添加密码保护 

在 Visual Basic编辑器”环境下.打开“工具”菜单的 

NORMAL属性”对话框,选择“保护”项目,在“查看工 

程属性的密码”栏中输入该 自动备份程序”的工程密码,由 

于在自动备份程序中加入了文档统一密码,故这样做可以防止 

被人通过查看程序造成 备份文件密码”的失密:当然,自己 

同并进行各种操作,如果将目录存放地点设的比较探并且臆 

秘.再配合共享密码.可 达到很好的备份文件保密效果,即 

使文件被发现,由于在自动备份时已经自动添加了密码.也可 

以保证文件内容不被泄密: 

●输入程序 

打开Word.从“工具”菜单的“宏”选项中启动 

“Visual Basic编辑器”,在工程中的NORMAL项目中打开 

Microsoft Wont对象”中的“ThisDocument”类.然后将上面 

的程序完整输^即可;注意在输入程序时,其常量设置,Con・ 

st Backup oath=“c:、网络备份演示文件夹8 一句是用于本 

地机备份.必须根据网络服务器名字重新设置,比如在 

OASERVER服务器上设置了共享文件夹 h盯BAcKuP¥”.则 

此处应该相应为Cortsl Backup oath= “\\OASERVER、M Y. 

定要牢记密码,否则可能自己就再也打不开文件。 

上述所有工作完工后,保存NORMAL DOT即可。 

这时您就可以放心地编辑各类文档,在你每次关闭文件 

时,它都会自动在您指定的位置为您的工作傲一个新的备份, 

想可以通过检索文件名来判定其修订版本.在处理非常重要的 

大型文件时该功能一定能解除后顾之忧。 

四、结论 

该程序在某公司的局域网中已经得到广泛应用,具有很强 

的实用性,笔者同时还编制了 EXCEL电子表格”的自动备 

份程序,思路相同.仅个别语句略有差异,在此就不冗述,有 

BAcKuP¥”;另外在Password:=“heⅡ ’中,可以根据实际情 

况设定自己的文档密码.建议长度在8位以上并混合数字,可 

兴趣的读者可与编辑部联系获得。 

(收稿日期:2001年l2 7 E) 

以有效地防止目前流行的各种 OFFICE解密软件” 

即防毒又防黑客的趋势科技Viesr Baste*20曩2防毒精曩|_】将上帝 

传统的防毒软件,并无法阻挡黑客通过一些攻击程序人慢 

个人计算机,然而新型态的计算机病毒并不是破坏或瘫痪计算 

感染的同时,开启后门程序让黑客轻松人慢该计算机系统,窃 

毒软件的要求癜发生了报太空化,不收爨于鼬眭构 

杀病毒.防火 只晦愚客.而悬 

崭新的Vi聪BIl咖删

件只 

机系统鄢幺单纯而已,它们已经改采主动攻击模式.有可能在 

诞生。 

上市以来不但受到了广大个人用 

取资料或进行破坏。虽然企业阿络多数在防火墙的阻绝与保护 

户的好评.也得到了权蔬攥体的肯定 著名的Pc坤噼技术编 

之下,然而个人用户,暴露在危险的互联同中,已成为黑客虎视 

辑一致推荐这一产品,甚至 尚未发现缺点1来彭譬!vin 

眈眈的目标。人们对黑客的恐惧心理也与日惧增,根据全球网 

Buyer2002防毒精灵科技古量虽高,但使用却十舟葡粳,新手菜 

络安全领导厂商趋势科技发表的{VirusBume ̄2002防毒精灵掩 

乌都可轻易操作个人防火墙,凭需复杂设定。暂毒鞭曼筒单易 

鲜版使用者调查》显示,高选85%的人担心日后台遭黑客攻 用的背后,椭着超乎想象的强大功能。 

击,已在日本上市的VirusBuster2002防毒精灵,果真造成抢购 

VimsBue,or2002的个人防火墙结台蔓先进的防毒技术在 

热潮,平均月销售量高达40万套,简体中文版预计将于2002 

世拜各l地的措先版试用者当中树立了撅佳舳口肆。在它的功能 

年1月在中国大陆上市。趋势科技不但在企业级防毒解决方案 排名上,以“POP3电子邮件扫描”、。衡底清除特洛伊木马寐 

上在全球居领先地位,其畅销12年的个人版防毒软件也有着 

毒”、“实时扫描”、“防止黑客人侵”和“智● 曩更新”等被为前五 

娇人的成绩,目前共有11种语言版本,行悄世界40余国,拥有 

大最重要的功能。在民慧l谓查中有七成构蔓访者肯定弛表示会 

上千万使用者,高居亚洲市场古有卓第一位。 购买Virtudt ̄ter2002,并有八成表示会推荐I ^赡买,另外有 

今年下半年爆发的红色代码(c0deRed)和尼姆达(N ̄aa) 

九成的受访煮认为趋势辩技提供的免费骑毒支持(包括艉务专 

病毒,彻底打破了以往病毒与黑客“井水不犯河水 的规律.使 线和电子邮件通知等)服务.是他们在考虑购买和使用Virus- 

病毒形态发生了根本的变化。红色代码和尼姆达等病毒以蠕虫 Btmter2002的重要因素。在计算机病毒、黑客、计算机蠕虫横行 

usBuster 20 ̄12防毒精灵提供多种趣强防护功能 

行为与黑客相结台的方式,在罔培上瞬问繁衍变种病毒,对广 

网络的时代,Vh'

大计算机用户进行了前所未有的猛烈攻击。病毒与黑客的攻击 可以有效保护使用者的网络安全。不臂是个人计算机还是 

模式也由以前的被动攻击改为主动攻击,倒如它们可以自行搜 

PDA,也不营是拨号上舟,还是宽带上网,Vln ̄llustet 2002无疑 

寻可能被感染的对象.主动发出带病毒的电子邮件.黑客还会 是嗣络时代的鼍佳安全通行证。届时请广大中国用户亲身体验 

在你的电脑上开启后门,进行窃取与破坏。所以市场对个人防 其为您带来的全方位安全保护 

21