在工作中,经常会碰到从一堆腐朽的source中按照一个列表去筛选出来现在还要用的source文件。

这个如果用vba来实现的话,会节省大量的时间,而且不会出错。

前提说明:

将想要复制的文件名列表放在第一sheet的第一列,然后执行程序

首先选择源目录和目标目录, 然后会从源目录中查找文件,将存在的文件自动复制的目标目录中,

不存在的文件,记录在第二列里。

Sub fileFilter()

    Dim folderOld As String
Dim folderNew As String
Dim fileNm As String
Dim fileNmOld As String
Dim fileNmNew As String
Dim i As Integer
Dim j As Integer
j = MsgBox "Set before moving folder"
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = - Then
folderOld = .SelectedItems()
End If
End With
MsgBox "Set after moving folder"
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = - Then
folderNew = .SelectedItems()
End If
End With For i = To
fileNm = Worksheets().Cells(i, )
If fileNm <> "" Then
fileNmOld = folderOld & "\" & fileNm
fileNmNew = folderNew & "\" & fileNm
If Dir(fileNmOld) <> "" Then
FileCopy fileNmOld, fileNmNew
Else
Worksheets().Cells(j, ) = fileNm
j = j +
End If
End If
Next
MsgBox "file filter over" End Sub

另外,vba读取文件方法备用

Sub readFile()

 Dim txtLine
Dim FileObj
Dim TextObj
Dim FilePath With Application.FileDialog(msoFileDialogFilePicker)
If .Show = - Then
FilePath = .SelectedItems()
End If
End With Dim txt As String
Open FilePath For Input As #
Do While Not EOF()
Line Input #, txt
MsgBox txt
Loop
Close # End Sub

VBA之文件筛选的更多相关文章

  1. java实现简单的文件筛选

    package filenameFilter; import java.io.File; /* * 实现功能: * 获取指定路径下的指定格式的文件; * */ public class Test { ...

  2. EXCEL VBA 选择文件对话框

    Sub XXX() Dim arr() arr = Application.GetOpenFilename("所有支付文件 (*.xls;*.xlsx;*.csv),*.xls;*.xlsx ...

  3. HALCON初步:文件夹遍历,文件筛选,文件名拆分,图片读取及保存

    [1]文件夹遍历 list_image_files ( : : ImageDirectory, Extensions, Options : ImageFiles) ImageDirectory: 文件 ...

  4. 20201126-1 txt文件筛选与读写【】

    Exercise 1import os # 设置文件夹路径为'工作文件夹',获取文件夹下的所有文件和文件夹名称 path = './工作文件夹/' files_list = os.listdir(pa ...

  5. VBA 每日文件按日期打包存放

    每天省出1小时,换个好心情 1.判断是否存在tempfolder (过渡文件夹) 2.不存在 则在目标目录下新建文件夹tempfolder 在网上看到一种更简单的方法 if dir("e:\ ...

  6. winform文件筛选器

    在.net 框架中,微软给我们封装了一个用于打开文件的对话框——OpenFileDialog.而该对话框包含一个可以筛选文件的属性——Filter,利用该属性,可选筛选出我们需要的文件.   因此,我 ...

  7. vba判断文件是否存在的两种方法(转)

    方法1. 用VBA自带的dir()判断,代码如下: 在 Microsoft Windows 中, Dir 支持多字符 (*)和单字符 (?) 的通配符来指定多重文件 Function IsFileEx ...

  8. 中望CAD VBA检测文件是否存在

    Option Explicit Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "Path ...

  9. VBA文件对话框的应用(VBA打开文件、VBA选择文件、VBA选择文件夹)

    在VBA中经常要用到文件对话框来进行打开文件.选择文件或选择文件夹的操作.用Microsoft Office提供的文件对话框比较方便.用法如下Application.FileDialog(fileDi ...

随机推荐

  1. Centos7的firewalld配置

    红帽官方的使用文档: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Gu ...

  2. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 适合大型企业信息化应用使用的角色权限管理体系

    每个人外表看看都没什么大区别.但是内在的知识.处理问题的能力.解决问题的能力.头脑灵活性都会有很大的差距.软件组件也是一样,有些组件编写厉害,想问题深入,能处理的难题也多,构思巧妙. 通用快速开发平台 ...

  3. Python-09-线程、进程、协程、异步IO

    0. 什么是线程(thread)? 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆 ...

  4. U3D笔记11:47 2016/11/30-15:15 2016/12/19

    11:47 2016/11/30Before you can load a level you have to add it to the list of levels used in the gam ...

  5. echarts在.Net中使用实例(二) 使用ajax动态加载数据

    通过上一篇文章可以知道和echarts参考手册可知,series字段就是用来存储我们显示的数据,所以我们只需要用ajax来获取series的值就可以. option 名称 描述 {color}back ...

  6. httpUrlConnection中文乱码

    public void getFeiInfo(String sessionId) throws IOException{ //发送的请求参数,发送的格式也是Json的 String requestSt ...

  7. Matlab && C-Mex Round 1

    前言:本篇文章主要通过一个简单的例子程序对C-Mex进行一个初步的说明.前期的环境搭建(包括安装Matlab和gcc编译器)就不在这里赘述了. 在看文章之前,建议初学者先检查一下Matlab的mex配 ...

  8. Eclipse JEE 安装JBPM 4.4 GPD

    回顾往昔,发现自己好久没写博客了,想想以前自己是多么热衷于写博客分享,虽然分享的都是比较基础的东西,但每每看到访问量不断增加的时候内心还是爽爽的. 时间过的真的很快,离开学校和团队已经一个月了.来到了 ...

  9. 如何重复使用IEnumerable对象来枚举?

    我在2011年9月发表了一个问问,http://q.cnblogs.com/q/28679/. 没人理我. 自己看了一下,尝试自己解决: 原问题: MSDN: 在非泛型集合中,您可以在调用 Reset ...

  10. CSS继承的特殊性

    p{color:red;} .first{color:green;} <p class="first">三年级时,我还是一个<span>胆小如鼠</s ...