好文档 - 专业文书写作范文服务资料分享网站

Excel-VBA操作文件四大方法之四 利用API函数来处理文件

天下 分享 时间: 加入收藏 我要投稿 点赞

lpExistingFileName String,欲移动的文件名 lpNewFileName String,新文件名 dwFlags Long,一个或多个下述常数

MOVEFILE_REPLACE_EXISTING 如目标文件存在,则将其替换

MOVEFILE_COPY_ALLOWED 如移动到一个不同的卷,则复制文件并删除原来的文件 MOVEFILE_DELAY_UNTIL_REBOOT 移动操作在系统下次重新启动时正式进行。这样便可在Windows NT中改换系统文件 示例:

Private Const MOVEFILE_COPY_ALLOWED = &H2

Private Const MOVEFILE_DELAY_UNTIL_REBOOT = &H4 Private Const MOVEFILE_REPLACE_EXISTING = &H1 MoveFile \test1.txt\移动文件

MoveFileEx \PY_ALLOWED ‘再一次移动 以上代码实现了文件的移动,两次移动後,文件不变 7、DeleteFile

作用:删除指定文件

声明:Declare Function DeleteFile Lib \Alias \(ByVal lpFileName As String) As Long

说明:Long,非零表示成功,零表示失败。会设置GetLastError

与vba的kill语句相似,在windows 95下使用这个函数要小心——即使文件当前正由一个应用程序打开,该函数也会将其删除. 参数说明:

lpFileName String,欲删除文件的名字 示例:

DeleteFile \删除c:\\\\test.txt文件 完整的示例见附件。 8、ReadFile

作用:从文件中读出数据。与lread函数相比,这个函数要明显灵活的多。该函数能够操作通信设备、管道、套接字以及邮槽

声明:Private Declare Function ReadFile Lib \lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long

说明:Long,非零表示成功,零表示失败。会设置GetLastError。如启动的是一次异步读操作,则函数会返回零值,并将ERROR_IO_PENDING设置成GetLastError的结果。如结果不是零值,但读入的字节数小于nNumberOfBytesToRead参数指定的值,表明早已抵达了文件的结尾 参数:

hFile ---- Long,文件的句柄

lpBuffer --- Any,用于保存读入数据的一个缓冲区 nNumberOfBytesToRead - Long,要读入的字符数

lpNumberOfBytesRead - Long,从文件中实际读入的字符数

lpOverlapped --- OVERLAPPED,如文件打开时指定了FILE_FLAG_OVERLAPPED,那么必须用这个参数引用一个特殊的结构。那个结构定义了一次异步读取操作。否则,应将这个参数设为NULL(将函数声明成ByVal As Long,并传递零值)

示例:完整的示例见附件。 9、WriteFile

作用:将数据写入一个文件。该函数比lwrite函数要灵活的多。也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理

声明:Declare Function WriteFile Lib \As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As OVERLAPPED) As Long

说明:Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError 参数:

hFile --- Long,一个文件的句柄

lpBuffer --- Any,要写入的一个数据缓冲区

nNumberOfBytesToWrite - Long,要写入数据的字节数量。如写入零字节,表示什么都不写入,但会更新文件的“上一次修改时间”。针对位于远程系统的命名管道,限制在65535个字节以内

lpNumberOfBytesWritten - Long,实际写入文件的字节数量

lpOverlapped --- OVERLAPPED,倘若在指定FILE_FLAG_OVERLAPPED的前提下打开文件,这个参数就必须引用一个特殊的结构。那个结构定义了一次异步写操作。否则,该参数应置为空(将声明变为ByVal As Long,并传递零值) 示例:完整的示例见附件。

10、SHFileOperation

作用:此函数的功能很强大,能对文件或文件夹进行复制、移动、重命名、删除的全部操作。

声明:Declare Function SHFileOperation Lib \SHFILEOPSTRUCT) As Long

说明:Long,TRUE(非零)表示成功,否则返回零。 参数:

lpFileOp --SHFILEOPSTRUCT类型,指定文件的操作。 Type SHFILEOPSTRUCT hwnd As Long

wFunc As Long \\'对文件的操作指令 pFrom As String \\'源文件或路径 pTo As String \\'目的文件或路径 fFlags As Integer \\'操作标志 fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As String End Type 示例:见附件。

(三)总结

通过以上的介绍,我们可以看到API在文件操作方面功能十分强大,能够完成一些前面方法所不能完成的任务。FileSystemObject对象模型的内部可能就是用API写的,即便不是我们也可以用API写出一个FSO类来。API是一个巨大的宝库,当你为实现某个功能而愁眉

不展的时候,查查API可能就能找到满意的答案。

写的这么多,希望对大家有所帮助,至少操作文件是没有什么问题了。

当我被上帝造出来时,上帝问我想在人间当一个怎样的人,我不假思索的说,我要做一个伟大的世人皆知的人。于是,我降临在了人间。

我出生在一个官僚知识分子之家,父亲在朝中做官,精读诗书,母亲知书答礼,温柔体贴,父母给我去了一个好听的名字:李清照。

小时侯,受父母影响的我饱读诗书,聪明伶俐,在朝中享有“神童”的称号。小时候的我天真活泼,才思敏捷,小河畔,花丛边撒满了我的诗我的笑,无可置疑,小时侯的我快乐无虑。

“兴尽晚回舟,误入藕花深处。争渡,争渡,惊起一滩鸥鹭。”青春的我如同一只小鸟,自由自在,没有约束,少女纯净的心灵常在朝阳小,流水也被自然洗礼,纤细的手指拈一束花,轻抛入水,随波荡漾,发髻上沾着晶莹的露水,双脚任水流轻抚。身影轻飘而过,留下一阵清风。

可是晚年的我却生活在一片黑暗之中,家庭的衰败,社会的改变,消磨着我那柔弱的心。我几乎对生活绝望,每天在痛苦中消磨时光,一切都好象是灰暗的。“寻寻觅觅冷冷清清凄凄惨惨戚戚”这千古叠词句就是我当时心情的写照。

最后,香消玉殒,我在痛苦和哀怨中凄凉的死去。

在天堂里,我又见到了上帝。上帝问我过的怎么样,我摇摇头又点点头,我的一生有欢乐也有坎坷,有笑声也有泪水,有鼎盛也有衰落。我始终无法客观的评价我的一生。我原以为做一个着名的人,一生应该是被欢乐荣誉所包围,可我发现我错了。于是在下一轮回中,我选择做一个平凡的人。

我来到人间,我是一个平凡的人,我既不着名也不出众,但我拥有一切的幸福:我有温馨的家,我有可亲可爱的同学和老师,我每天平凡而快乐的活着,这就够了。

天儿蓝蓝风儿轻轻,暖和的春风带着春的气息吹进明亮的教室,我坐在教室的窗前,望着我拥有的一切,我甜甜的笑了。我拿起手中的笔,不禁想起曾经作诗的李清照,我虽然没有横溢的才华,但我还是拿起手中的笔,用最朴实的语言,写下了一时的感受:

人生并不总是完美的,每个人都会有不如意的地方。这就需要我们静下心来阅读自己的人生,体会其中无尽的快乐和与众不同。

“富不读书富不久,穷不读书终究穷。”为什么从古到今都那么看重有学识之人?那是因为有学识之人可以为社会做出更大的贡献。那时因为读书能给人带来快乐。

自从看了《丑小鸭》这篇童话之后,我变了,变得开朗起来,变得乐意同别人交往,变得自信了……因为我知道:即使现在我是只“丑小鸭”,但只要有自信,总有一天我会变成“白天鹅”的,而且会是一只世界上最美丽的“白天鹅”……

我读完了这篇美丽的童话故事,深深被丑小鸭的自信和乐观所折服,并把故事讲给了外婆听,外婆也对童话带给我们的深刻道理而惊讶不已。还吵着闹着多看几本名着。于是我给外婆又买了几本名着故事,她起先自己读,读到不认识的字我就告诉她,如果这一面生字较多,我就读给她听整个一面。渐渐的,自己的

语文阅读能力也提高了不少,与此同时我也发现一个人读书的乐趣远不及两个人读的乐趣大,而两个人读书的乐趣远不及全家一起读的乐趣大。于是,我便发展“业务”带动全家一起读书……现在,每每遇到好书大家也不分男女老少都一拥而上,争先恐后“抢书”,当我说起我最小应该让我的时候,却没有人搭理我。最后还把书给撕坏了,我生气地哭了,妈妈一边安慰我一边对外婆说:“孩子小,应该让着点。”外婆却不服气的说:“我这一把年纪的了,怎么没人让我呀?”大家人你一言我一语,谁也不肯相让……读书让我明白了善恶美丑、悲欢离合,读一本好书,犹如同智者谈心、谈理想,教你辨别善恶,教你弘扬正义。读一本好书,如品一杯香茶,余香缭绕。读一本好书,能使人心灵得到净化。书是我的老师,把知识传递给了我;书是我的伙伴,跟我诉说心里话;书是一把钥匙,给我敞开了知识的大门;书更是一艘不会沉的船,引领我航行在人生的长河中。其实读书的真真乐趣也就在于此处,不是一个人闷头苦读书;也不是读到好处不与他人分享,独自品位;更不是一个人如痴如醉地沉浸在书的海洋中不能自拔。而是懂得与朋友,家人一起分享其中的乐趣。这才是读书真正之乐趣呢!这所有的一切,不正是我从书中受到的教益吗?

我阅读,故我美丽;我思考,故我存在。我从内心深处真切地感到:我从读书中受到了教益。当看见有些同学宁可买玩具亦不肯买书时,我便想到培根所说的话:“世界上最庸俗的人是不读书的人,最吝啬的人是不买书的人,最可怜的人是与书无缘的人。”许许多多的作家、伟人都十分喜欢看书,例如毛泽东主席,他半边床上都是书,一读起书来便进入忘我的境界。

Excel-VBA操作文件四大方法之四 利用API函数来处理文件

lpExistingFileNameString,欲移动的文件名lpNewFileNameString,新文件名dwFlagsLong,一个或多个下述常数MOVEFILE_REPLACE_EXISTING如目标文件存在,则将其替换MOVEFILE_COPY_ALLOWED如移动到一个不同的卷,
推荐度:
点击下载文档文档为doc格式
17hfa4w1fx8xswm2yhl07916095eiv009en
领取福利

微信扫码领取福利

微信扫码分享