大家好,我们今日讲解“VBA信息获取与处理”教程中第十八个专题“FSO对象对文件及文件夹的处理”的第二节“利用FSO对象操作文件”,这个专题是非常实用的知识点,希望大家能掌握利用。教程会提供配套的程序文件。

第二节 利用FSO对象操作文件

大家好,我们继续讲解FSO对象的应用,今日的内容是利用FSO对象操作文件,对于文件的操作,我们这讲讲解如何复制、移动和删除,对于读写的操作,我将在后面的章节中做专门的讲解。

1 FSO对象操作文件的基本语句

为了达到操作文件的目的,我们仍是要先学习一下基本的操作语句,这些是应用的基础。

1)CopyFile方法,将一个或多个文件从一个位置复制到另一个位置。

语法:object.CopyFile source, destination, [ overwrite ]

参数:

object 必需,始终是FileSystemObject的名称。

source 必需,字符串文件规范,可以包括通配符来代表要复制的一个或多个文件。

destination 必需,要将 source 中的文件复制到的字符串目标。不能使用通配符。

overwrite 可选。布尔值,指示是否覆盖现有文件。如果为 True,则覆盖文件,如果为 False,则不覆盖文件。默认为 True。请注意,如果 destination 具有只读属性集,则不管 overwrite 值是什么,CopyFile都将失败。

备注:通配符只能在 source 参数的最后路径组件中使用。例如,可以使用:FileSystemObject.CopyFile "c:mydocumentsletters*.doc", "c:tempfolder"

但不能使用:

FileSystemObject.CopyFile "c:mydocuments*R1???97.xls", "c:tempfolder"

2)MoveFile方法,将一个或多个文件从一个位置移动到另一个位置。

语法:object.MoveFile source, destination

参数:

object 必需,是FileSystemObject的名称。

source 必需。要移动的一个或多个文件的路径,source 参数字符串只能在最后一个路径组件中包含通配符。

destination 必需,一个或多个文件要移动到的路径,destination 参数不能包含通配符。

备注:如果source包含通配符或destination以路径分隔符 (**) 结束, 则假定destination指定要在其中移动匹配文件的现有文件夹。否则会将 destination 假定为要创建的目标文件的名称。不论是哪种情况,在移动单个文件时均会发生三件事情:

如果 destination 不存在,则会移动该文件。这是通常的情况。

如果 destination 是现有文件,则会出现错误。

如果 destination 是一个目录,则会出现错误。

如果 source 中使用的通配符与任何文件都不匹配,也会出现错误。MoveFile方法会在它遇到第一个错误时停止。不会尝试回滚在错误发生之前所做的任何更改。

提示信息:只要操作系统支持,此方法就允许在卷之间移动文件。

3)DeleteFile方法,删除指定文件。

语法:object.DeleteFilefilespec, [ force ]

参数:

Object必需,始终是FileSystemObject的名称。

filespec必需,要删除的文件的名称。filespec可以在最后的路径组件中包含通配符。

force可选,若要删除带有只读属性集的文件,则 Boolean 值为 True;否则为 False(默认)。

备注:如果未找到匹配的文件,则将出现错误。DeleteFile方法在遇到第一个错误时停止。不会尝试回滚或撤消在出现错误之前已进行的任何更改。

2 FSO对象操作文件的代码实例

为了实现操作文件,我给出了下面的代码:

Sub mynzA() '使用FSO对象操作文件

Dim objFso As Object

strPath = ThisWorkbook.Path&Application.PathSeparator

'建立FSO引用

Set objFso = CreateObject("Scripting.FileSystemObject")

If objFso.FileExists(strPath& "018文本测试.txt") Then

'复制文件

objFso.CopyFilestrPath& "018文本测试.txt", strPath& _

"018TEMP018文本测试2.txt"

MsgBox "018TEMP文件夹下018文本测试2.txt已经复制完成"

'移动文件

objFso.MoveFilestrPath& "018TEMP018文本测试2.txt", _

strPath& "018文本测试1.txt"

MsgBox "018TEMP文件夹下018文本测试2.txt已经移出文件夹"

'删除文件

objFso.DeleteFilestrPath& "018文本测试1.txt"

MsgBox "018文本测试1.txt已经删除"

End If

Set objFile = Nothing

Set objFso = Nothing

MsgBox "OK!"

End Sub

代码截图:

代码的讲解:(略)

3 FSO对象操作文件代码的实现效果

我们点击运行按钮,我们会看到下面的截图:

一步步操作下去,又会回到原点。

本节知识点回向:

① 本例中分别利用了操作文件的那些方法?

② 在利用上述方法的之前要做什么?

本讲代码参考文件:018工作表.xlsm

积木编程的思路内涵:

在我的系列书籍中一直在强调“搭积木”的编程思路,这也是学习利用VBA的主要方法,特别是职场人员,更是要采用这种方案。其主要的内涵:

1 代码不要自己全部的录入。你要做的是把积木放在合适的位置然后去修正代码,一定要拷贝,从你的积木库中去拷贝,然后修正代码,把时间利用到高效的思考上。

2 建立自己的“积木库”。平时在学习过程中,把自己认为有用的代码放在一起,多积累,在用到的时候,可以随时拿来。你的积木库资料越多,你做程序的思路就会越广。

VBA的应用界定及学习教程:

VBA是利用Office实现个人小型办公自动化的有效手段(工具)。这是我对VBA的应用界定。在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁就是王者。其中登峰至极的技能非VBA莫属!

我记得20年前自己初学VBA时,那时的资料甚少,只能看源码自己琢磨,真的很难。20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用经验,推出了六部VBA专门教程,目前教程均通过32位和64位两种OFFICE系统测试。

第一套:VBA代码解决方案 是VBA中各个知识点的讲解,教程共147讲,覆盖绝大多数的VBA知识点,提供的程序文件更是一座不可多得的代码宝库,是初学及中级人员必备教程;目前这套教程提供的版本是修订第二版,程序文件通过32位和64位两种OFFICE系统测试。

第二套:VBA数据库解决方案 数据库是数据处理的专业利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,适合中级人员的学习。目前这套教程提供的是修订第一版教程,程序文件通过32位和64位两种OFFICE系统测试。

第三套:VBA数组与字典解决方案 数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习,是初级及中级人员代码精进的手段。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。

第四套:VBA代码解决方案之视频 是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。这套教程是第一套教程(修订一版)的视频讲解,听元音更易接受。这套教程还会额外提供通过32位和64位两种OFFICE系统测试的程序文件。

第五套:VBA中类的解读和利用 这是一部高级教程,讲解类的虚无与肉身的度化,类的利用虽然较少,但仔细的学习可以促进自己VBA理论的提高。这套教程的领会主要是读者的领悟了,领悟一种佛学的哲理。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。

第六套教程:《VBA信息获取与处理》是一部高级教程,涉及范围更广,实用性更强,面向中高级人员。教程共二十个专题,包括:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。

上述教程的学习顺序:1→3→2→6→5或者4→3→2→6→5。提供的程序文件更是一座巨大的代码库,供读者使用,如需要可以WeChat: NZ9668

学习VBA是个过程,也需要经历一种枯燥的感觉

“众鸟高飞尽,孤云独去闲。相看两不厌,只有敬亭山”。学习的过程也是修心的过程,修一个平静的心。在代码的世界中,心平静了,心情好了,身体自然而然就好。心静则正,内心里没有那么多邪知邪见,也就没有那么多妄想。利人就是利己。我的教程助力给正在努力的朋友。

“水善利万物而不争”,绵绵密密,微则无声,巨则汹涌。学习亦如此,知道什么是自己所需要的,不要蜷缩在一小块自认为天堂的世界里,待到暮年时再去做自欺欺人的言论。要努力提高自己,用一颗充满生机的心灵,把握现在,这才是进取。越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。不管遇到什么,都是风景。看淡纷争,看轻得失。学习时微而无声,利用时则巨则汹涌。“路漫漫其修远兮,吾将上下而求索”

每一分收获都是成长的记录,怎无凭,正是这种执着,成就了朝霞的灿烂。最后将一阙词送给致力于VBA学习的朋友,让大家感受一下学习过程的枯燥与执着:

浮云掠过,暗语无声,

唯有清风,惊了梦中啼莺。

望星,疏移北斗,

奈将往事雁同行。

阡陌人,昏灯明暗,

忍顾长亭。

多少VBA人,

暗夜中,悄声寻梦,盼却天明。

怎无凭!

分享我多年工作实际经验的成果,随喜这些有用的东西,给确实需要利用VBA的同路人。回向学习利用VBA的历历往事,不胜感慨,谨以这些文字以纪念,

分享成果,随喜正能量

vba fso读utf 文本_利用FSO对象操作文件相关推荐

  1. vba listbox 内容输出到文本_利用FSO对象读取文本文件的信息

    大家好,我们今日讲解"VBA信息获取与处理"教程中第十八个专题"FSO对象对文件及文件夹的处理"的第四节"利用FSO对象读取文本文件的信息" ...

  2. itextsharp 获取文本_利用iTextSharp提取PDF文件中的文本内容

    最近测试中需要对比两个PDF文件的内容,当然只是文字没有图表的,但是没有现成的工具可用.于是我的想法是先把PDF转换为Text,然后再对比Text的内容.现在问题的关键变成了如何提取PDF中的文本,在 ...

  3. dos bat批处理的魅力 批处理读取文本中的每一行 操作文件

    dos bat批处理的魅力 批处理读取文本中的每一行 操作文件 http://blog.sina.com.cn/s/blog_872457fd0100tasi.html 批处理读取文本中的每一 行 ( ...

  4. c++读取文本文件里的指定位置的字符_利用FSO对象向文本文件中写入信息

    大家好,我们今日讲解"VBA信息获取与处理"教程中第十八个专题"FSO对象对文件及文件夹的处理"的第五节"用FSO对象向文本文件中写入信息" ...

  5. vba listbox 内容输出到文本_利用剪贴板提取工作表的文本内容

    大家好,我们今日讲解"VBA信息获取与处理"教程中第十二个专题"VBA中剪贴板(Clipboard)的应用"的第六节"利用剪贴板提取工作表的文本内容& ...

  6. vba 循环读取单元格_利用VBA打开顺序文件,并读取

    大家好,疫情施虐,国外各地更有爆发的迹象,但无论怎样,我们一定要坚信,疫情终将会过去,曙光一定会到来.后疫情时代将会是一个全新的世界,很多理念都将被打破,大多数人不会再享受体制内的保护,对于我们每个人 ...

  7. python 16bit转8bit的工具_利用python读取YUV文件 转RGB 8bit/10bit通用

    注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码. 位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1): 位深为10bit时,每个像 ...

  8. python读excel乱码_解决Python2.7读写文件中的中文乱码问题

    Python2.7对于中文编码的问题处理的并不好,这几天在爬数据的时候经常会遇到中文的编码问题.但是本人对编码原理不了解,也没时间深究其中的原理.在此仅从应用的角度做一下总结, 1.设置默认编码 在P ...

  9. svn增量打包部署_利用svn的补丁文件打包生成增量文件

    下面的代码是maven版本 1. 创建patch.txt增量文件 保存到 文件目录下 比如 E:\aa\patch.txt 2. 编写java代码 package utils; import java ...

最新文章

  1. 微软nni_实践空间站 | 为微软官方开源项目贡献代码,你准备好了吗?
  2. hbase 默认目录_HBase 配置示例
  3. 用python画玫瑰花代码-用python画一朵玫瑰给你
  4. simulink m序列仿真(待验证)
  5. 保研计算机辅助翻译,本科2013级推免生寄语
  6. 人工计算机的相关信息,第三届计算机信息科学与人工智能国际学术会议(CISAI 2020)...
  7. 如何使用STM32F4的BootLoader和APP程序
  8. “ this”关键字如何工作?
  9. Go语言第一深坑 - interface 与 nil 的比较 (转)
  10. 通过代码自定义cell
  11. Kubernetes 小白学习笔记(21)--kubernetes的运维-管理Lable
  12. 陈强教授《机器学习及R应用》课程 第五章作业
  13. html弹性布局什么意思,弹性布局display:flex是什么意思
  14. 微信电脑客户端可以刷朋友圈啦
  15. 实用工具系列 - FileZilla安装下载与使用
  16. 微信小程序九宫格布局
  17. 常见对称加密原理以及应用
  18. 怎么查验佳能EOS单反相机是否正品
  19. 对matplotlib.pyplot.cm.RdYlBu()的解读
  20. C语言,指针指针指针

热门文章

  1. 3.8 高级检索方式(二)
  2. CSS中清除浮动的两种方式
  3. HDU3333 Turing Tree 离线树状数组
  4. OUR D3.JS 数据可视化专题站(转)
  5. arch模型的思路_ARCH模型
  6. c++ cef 获取内容_敢达争锋对决NT敢达C装备增援活动进行中!
  7. matlab无穷积分求解_从零开始的matlab学习笔记——(8)积分
  8. linux boost 卸载,Ubuntu下boost库的编译安装步骤及卸载方法详解
  9. jmeter展示内存cpu_基于Docker的jmeter弹性压测(2)监控
  10. printwriter 要close吗_中国股市:市盈率低估,就意味着可以买入吗?不懂你就输了...