vba fso读utf 文本_利用FSO对象操作文件
大家好,我们今日讲解“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对象操作文件相关推荐
- vba listbox 内容输出到文本_利用FSO对象读取文本文件的信息
大家好,我们今日讲解"VBA信息获取与处理"教程中第十八个专题"FSO对象对文件及文件夹的处理"的第四节"利用FSO对象读取文本文件的信息" ...
- itextsharp 获取文本_利用iTextSharp提取PDF文件中的文本内容
最近测试中需要对比两个PDF文件的内容,当然只是文字没有图表的,但是没有现成的工具可用.于是我的想法是先把PDF转换为Text,然后再对比Text的内容.现在问题的关键变成了如何提取PDF中的文本,在 ...
- dos bat批处理的魅力 批处理读取文本中的每一行 操作文件
dos bat批处理的魅力 批处理读取文本中的每一行 操作文件 http://blog.sina.com.cn/s/blog_872457fd0100tasi.html 批处理读取文本中的每一 行 ( ...
- c++读取文本文件里的指定位置的字符_利用FSO对象向文本文件中写入信息
大家好,我们今日讲解"VBA信息获取与处理"教程中第十八个专题"FSO对象对文件及文件夹的处理"的第五节"用FSO对象向文本文件中写入信息" ...
- vba listbox 内容输出到文本_利用剪贴板提取工作表的文本内容
大家好,我们今日讲解"VBA信息获取与处理"教程中第十二个专题"VBA中剪贴板(Clipboard)的应用"的第六节"利用剪贴板提取工作表的文本内容& ...
- vba 循环读取单元格_利用VBA打开顺序文件,并读取
大家好,疫情施虐,国外各地更有爆发的迹象,但无论怎样,我们一定要坚信,疫情终将会过去,曙光一定会到来.后疫情时代将会是一个全新的世界,很多理念都将被打破,大多数人不会再享受体制内的保护,对于我们每个人 ...
- python 16bit转8bit的工具_利用python读取YUV文件 转RGB 8bit/10bit通用
注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码. 位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1): 位深为10bit时,每个像 ...
- python读excel乱码_解决Python2.7读写文件中的中文乱码问题
Python2.7对于中文编码的问题处理的并不好,这几天在爬数据的时候经常会遇到中文的编码问题.但是本人对编码原理不了解,也没时间深究其中的原理.在此仅从应用的角度做一下总结, 1.设置默认编码 在P ...
- svn增量打包部署_利用svn的补丁文件打包生成增量文件
下面的代码是maven版本 1. 创建patch.txt增量文件 保存到 文件目录下 比如 E:\aa\patch.txt 2. 编写java代码 package utils; import java ...
最新文章
- 微软nni_实践空间站 | 为微软官方开源项目贡献代码,你准备好了吗?
- hbase 默认目录_HBase 配置示例
- 用python画玫瑰花代码-用python画一朵玫瑰给你
- simulink m序列仿真(待验证)
- 保研计算机辅助翻译,本科2013级推免生寄语
- 人工计算机的相关信息,第三届计算机信息科学与人工智能国际学术会议(CISAI 2020)...
- 如何使用STM32F4的BootLoader和APP程序
- “ this”关键字如何工作?
- Go语言第一深坑 - interface 与 nil 的比较 (转)
- 通过代码自定义cell
- Kubernetes 小白学习笔记(21)--kubernetes的运维-管理Lable
- 陈强教授《机器学习及R应用》课程 第五章作业
- html弹性布局什么意思,弹性布局display:flex是什么意思
- 微信电脑客户端可以刷朋友圈啦
- 实用工具系列 - FileZilla安装下载与使用
- 微信小程序九宫格布局
- 常见对称加密原理以及应用
- 怎么查验佳能EOS单反相机是否正品
- 对matplotlib.pyplot.cm.RdYlBu()的解读
- C语言,指针指针指针
热门文章
- 3.8 高级检索方式(二)
- CSS中清除浮动的两种方式
- HDU3333 Turing Tree 离线树状数组
- OUR D3.JS 数据可视化专题站(转)
- arch模型的思路_ARCH模型
- c++ cef 获取内容_敢达争锋对决NT敢达C装备增援活动进行中!
- matlab无穷积分求解_从零开始的matlab学习笔记——(8)积分
- linux boost 卸载,Ubuntu下boost库的编译安装步骤及卸载方法详解
- jmeter展示内存cpu_基于Docker的jmeter弹性压测(2)监控
- printwriter 要close吗_中国股市:市盈率低估,就意味着可以买入吗?不懂你就输了...