ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yuanzhuping

VBA常用技巧代码解析

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-6-9 18:11 | 显示全部楼层
本帖已被收录到知识树中,索引项:开发帮助和教程
原帖由 yuanzhuping 于 2009-5-31 20:15 发表
技巧169         数组的使用
169-1        代码运行时创建数组
       使用Array函数可以在代码运行时创建数组并把一系列数据保存在数组中,示例代码如下:#001  Option Base 1
#002  Sub arr()
#003      Dim arr As Variant
...

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

TA的精华主题

TA的得分主题

发表于 2009-6-9 19:14 | 显示全部楼层
你好!谢谢你无私的奉献,我一直想学vba以减轻自己的工作强度,不知从何学习,现在先下载下来慢慢学。

TA的精华主题

TA的得分主题

发表于 2009-6-10 11:09 | 显示全部楼层
楼主辛苦!此主题,方便了EH会员学习VBA技术,支持楼主继续写完。

TA的精华主题

TA的得分主题

发表于 2009-6-10 11:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-6-10 14:44 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-10 19:40 | 显示全部楼层

第10部分 文件操作

技巧180         使用WSH处理文件
       Windows Scripting Host(WSH)可以创建一些控制Windows操作系统和应用程序以及从操作系统中获取信息的小程序,而使用WSH的FileSystemObject对象可以用来处理文件系统。
       在使用WSH处理文件时,必需使用CreateObject函数创建一个ActiveX对象(FileSystemObject对象),用来提供访问计算机的文件系统,如下面的代码所示:
  1. Dim MyFile As Object
  2. Set MyFile = CreateObject("Scripting.FileSystemObject")
复制代码
上面的代码首先声明一个名为MyFile的对象变量,然后使用CreateObject函数创建一个ActiveX对象并将该对象赋给对象变量。
       CreateObject函数创建并返回一个对ActiveX对象的引用,语法如下:
       CreateObject(class,[servername])
       其中参数class是必需的,要创建的应用程序名称和类,使用appname.objecttype这种语法,appname指定该对象的应用程序名称,objecttype指定该对象的类型或类。
       在声明了对象变量MyFile为Windows Scripting库的FileSystemObject对象后就能使用该对象的属性、方法来处理文件系统。
180-1        获取文件信息
       如果需要获得指定文件的信息,可以使用File对象的Getfile方法,如下面的代码所示。
  1. #001  Sub Fileinfo()
  2. #002      Dim MyFile As Object
  3. #003      Dim Str As String
  4. #004      Dim StrMsg As String
  5. #005      Str = ThisWorkbook.Path & "\123.xls"
  6. #006      Set MyFile = CreateObject("Scripting.FileSystemObject")
  7. #007      With MyFile.Getfile(Str)
  8. #008          StrMsg = StrMsg & "文件名称:" & .Name & Chr(13) _
  9. #009              & "文件创建日期:" & .DateCreated & Chr(13) _
  10. #010              & "文件修改日期:" & .DateLastModified & Chr(13) _
  11. #011              & "文件访问日期:" & .DateLastAccessed & Chr(13) _
  12. #012              & "文件保存路径:" & .ParentFolder
  13. #013      End With
  14. #014      MsgBox StrMsg
  15. #015      Set MyFile = Nothing
  16. #016  End Sub
复制代码
代码解析:
       Fileinfo过程使用Getfile方法获取示例所在文件夹中的“123.xls”文件的信息。
       第5行代码将文件路径名称赋给变量Str。
       第6行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。
       第7行代码使用Getfile方法返回一个File对象。Getfile方法返回一个和指定路径中文件相对应的File对象,语法如下:
object.GetFile(filespec)
       参数object是必需的,FileSystemObject对象的名称。
       参数filespec是必需的,指定文件的路径。
       第8行到第12行代码根据File对象的属性取得文件信息,File对象的常用属性如表格所示。
       Snap2.jpg
       运行Fileinfo过程使用消息框显示“123.xls”文件的信息,如图所示。
       Snap1.jpg

180-1 获取文件信息.rar

11.44 KB, 下载次数: 758

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-10 19:44 | 显示全部楼层

第10部分 文件操作

技巧180         使用WSH处理文件
180-2        查找文件
       使用FileSystemObject对象的FileExists方法可以查找指定的文件,如下面的代码所示。
  1. #001  Sub FileExis()
  2. #002      Dim MyFile As Object
  3. #003      Dim Str As String
  4. #004      Dim StrMsg As String
  5. #005      Str = ThisWorkbook.Path & "\123.xls"
  6. #006      Set MyFile = CreateObject("Scripting.FileSystemObject")
  7. #007      If MyFile.FileExists(Str) Then
  8. #008          MsgBox "文件已找到!"
  9. #009      Else
  10. #010          MsgBox "文件不存在!"
  11. #011      End If
  12. #012      Set MyFile = Nothing
  13. #013  End Sub
复制代码
代码解析:
       FileExis过程使用FileExists方法查找示例所在文件夹中是否存在“123.xls”文件。
       第6行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。
       第7行代码使用FileExists方法可以查找文件。应用于FileSystemObject对象的FileExists方法查找指定的文件,语法如下:
       object.FileExists(filespec)
       参数object是必需的,FileSystemObject对象的名称。
       参数filespec是必需的,要确定是否存在的文件的名字。如果文件不在当前文件夹中,必须提供一个完整的路径说明。
       使用FileExists方法查找文件时如果指定的文件存在,返回True,若不存在,则返回False,根据返回值可以确定所要查找的文件是否存在。

180-2 查找文件.rar

10.94 KB, 下载次数: 754

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-10 19:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

第10部分 文件操作

技巧180         使用WSH处理文件
180-3        移动文件
       如果需要把文件从一个地方移动到另一个地方,可以使用FileSystemObject对象的MoveFile方法,如下面的代码所示。
  1. #001  Sub MoveFile()
  2. #002      Dim MyFile As Object
  3. #003      On Error Resume Next
  4. #004      Set MyFile = CreateObject("Scripting.FileSystemObject")
  5. #005      MyFile.MoveFile ThisWorkbook.Path & "\123.xls", ThisWorkbook.Path & "\ABC"
  6. #006      Set MyFile = Nothing
  7. #007  End Sub
复制代码
代码解析:
       MoveFile过程使用MoveFile方法将示例文件所在文件夹中的“123.xls”文件移动到“ABC”文件夹中。
       第4行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。
       第5行代码使用MoveFile方法移动文件。应用于FileSystemObject对象的MoveFile方法将一个或多个文件从一个地方移动到另一个地方,语法如下:
       object.MoveFile source, destination
       参数object是必需的, FileSystemObject对象的名称。
       参数source是必需的,一个或多个要移动文件的路径,source参数字符串在路径的最后部件中可以使用通配符。
       参数destinatio是必需的,一个或多个文件要移动到的目标路径,不能使用通配符。
       运行MoveFile过程将示例文件所在文件夹中的“123.xls”文件移动到同一目录中的“ABC”文件夹。

180-3 移动文件.rar

10.37 KB, 下载次数: 724

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-10 19:49 | 显示全部楼层

第10部分 文件操作

技巧180         使用WSH处理文件
180-4        复制文件
       如果需要把文件从一个地方复制到另一个地方,可以使用CopyFile方法,如下面的代码所示。
  1. #001  Sub CopyFile()
  2. #002      Dim MyFile As Object
  3. #003      On Error Resume Next
  4. #004      Set MyFile = CreateObject("Scripting.FileSystemObject")
  5. #005      MyFile.CopyFile ThisWorkbook.Path & "\123.xls", ThisWorkbook.Path & "\ABC"
  6. #006      Set MyFile = Nothing
  7. #007  End Sub
复制代码
代码解析:
       CopyFile过程使用CopyFile方法将示例文件所在文件夹中的“123.xls”文件复制到“ABC”文件夹中。
       第4行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。
       第5行代码使用CopyFile方法复制文件。应用于FileSystemObject对象的CopyFile方法把一个或多个文件从一个地方复制到另一个地方,语法如下:
       object.CopyFile source, destination[, overwrite]
       参数object是必需的, FileSystemObject对象的名字。
       参数source是必需的,指明一个或多个要被复制文件的字符串文件说明,可以包括通配符。
       参数destination是必需的,指明参数source中的一个或多个文件要被复制到的接受端的字符串,不允许有通配符。
       参数overwrite是可选的,表示存在的文件是否被覆盖。如果是True,文件将被覆盖;如果是False,它们不被覆盖,缺省值是True。
       注意 如果参数destination指定的接受端具有只读属性设置,不论参数overwrite的值如何设置,CopyFile方法都将失败。
       运行CopyFile过程将示例文件所在文件夹中的“123.xls”文件复制到“ABC”文件夹中。

180-4 复制文件.rar

14.28 KB, 下载次数: 743

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-10 19:52 | 显示全部楼层

第10部分 文件操作

技巧180         使用WSH处理文件
180-5        删除文件
       如果需要删除一个指定的文件,可以使用DeleteFile方法,如下面的代码所示。
  1. #001  Sub DelFile()
  2. #002      Dim MyFile As Object
  3. #003      On Error Resume Next
  4. #004      Set MyFile = CreateObject("Scripting.FileSystemObject")
  5. #005      MyFile.DeleteFile ThisWorkbook.Path & "\123.xls"
  6. #006      Set MyFile = Nothing
  7. #007  End Sub
复制代码
代码解析:
       DelFile过程使DeleteFile方法删除示例文件所在文件夹中的“123.xls”文件。
       第4行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。
       第5行代码使用DeleteFile方法复制文件。应用于FileSystemObject对象的DeleteFile方法删除一个指定的文件,语法如下:
       object.DeleteFile filespec[, force]
       参数object是必需的, FileSystemObject对象的名字。
       参数filespec是必需的,指明要删除文件的名字,可以在最后的路径部件中包含通配符。
       参数force是可选的,如果要删除具有只读属性设置的文件,其值为True。如果其值为False(缺省),则不能删除具有只读属性设置的文件。。
       运行DelFile过程删除示例文件所在文件夹中的“123.xls”文件。

180-5 删除文件.rar

10.11 KB, 下载次数: 705

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 21:26 , Processed in 0.044902 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表