• 调用Excel宏批量处理文件


    '1.用户可以任意选择文件夹进行遍历
    '2.限定遍历时仅搜索EXCEL文件(你可以改变文件类型)
    '这个程序要先在“引用”下选择"microsoft scripting runtime"库文件
    
    Dim ArryFile() As String
    Dim nFile As Integer
    Sub Filelist()
        Dim fso As New FileSystemObject
        Dim fd As Folder
        Dim strFilePath As String
        Dim FolderSelect As FileDialog
        Set FolderSelect = Application.FileDialog(msoFileDialogFolderPicker)
        With FolderSelect
            If .Show = -1 Then
                strFilePath = .SelectedItems.Item(1) & ""
            End If
        End With
        Set fd = fso.GetFolder(strFilePath)
        nFile = 0
        searchFile fd
    End Sub
    
    Private Function searchFile(ByVal fd As Folder)
        Dim fl As File
        Dim subfd As Folder
        Dim i As Integer
        On Error Resume Next
        
        i = fd.files.Count
             
        ReDim Preserve ArryFile(1 To nFile + i)
        For Each fl In fd.files
            If Right(fl.Name, 4) = "xlsx" Then       '后缀是xls的用   If Right(fl.Name, 3) = "xls" Then
                nFile = nFile + 1
                ArryFile(nFile) = fl.Path
            End If
        Next
        If fd.SubFolders.Count = 0 Then Exit Function
        For Each subfd In fd.SubFolders
            searchFile subfd
        Next
    End Function
    
    
    //主函数,运行时调用该函数
    Sub ttt1()
    
    	Dim xlname, myxl As Object, sh As Object
    
    	Call Filelist
    
    	'Set myxl = CreateObject("Aplication.Excel")
    
        If nFile > 0 Then
            
           For Each xlname In ArryFile()
                If xlname <> "" Then
    			 //打开
                 Workbooks.Open Filename:=xlname
                 //调用Excel处理函数
                 Call Macro3
                 //保存,关闭
                 ActiveWorkbook.Save
                 ActiveWorkbook.Close
                End If
           Next
        End If
    
    	Set myxl = Nothing
    End Sub
    
    
    //Excel处理函数,该段替换成自己的处理过程
    Sub Macro3()
    '
    ' Macro3 Macro
    '
    ' 快捷键: Ctrl+Shift+C
    '
        Range("V3:X3").Select
        ActiveCell.FormulaR1C1 = "/"
        With ActiveCell.Characters(Start:=1, Length:=1).Font
            .Name = "宋体"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        Range("B5:J5").Select
        ActiveCell.FormulaR1C1 = "R种植业  □林业  □畜牧业    □渔业    □其他 "
        With ActiveCell.Characters(Start:=1, Length:=1).Font
            .Name = "Wingdings 2"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=2, Length:=3).Font
            .Name = "宋体"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=5, Length:=2).Font
            .Name = "Wingdings 2"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=7, Length:=3).Font
            .Name = "宋体"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=10, Length:=2).Font
            .Name = "Wingdings 2"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=12, Length:=4).Font
            .Name = "宋体"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=16, Length:=4).Font
            .Name = "Wingdings 2"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=20, Length:=3).Font
            .Name = "宋体"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=23, Length:=4).Font
            .Name = "Wingdings 2"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=27, Length:=3).Font
            .Name = "宋体"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        With ActiveCell.Characters(Start:=30, Length:=1).Font
            .Name = "Wingdings 2"
            .FontStyle = "常规"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        Range("O9:P35").Select
        Selection.Copy
        Range("E9:F35").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        
    End Sub
    

      

  • 相关阅读:
    用SecureCRT 查看Linux下日志的简单命令
    性能测试知多少---并发用户
    性能测试指标的基本概念
    软件测试基本理论
    Selenium 入门视频
    零基础学软件测试
    装饰器作业
    <python全栈开发基础>学习过程笔记【16d】装饰器(含time模块)
    【搬家】我的CSDN博客地址http://my.csdn.net/myloveprogrmming
    《Python全栈开发》学习过程笔记【3】
  • 原文地址:https://www.cnblogs.com/jordonin/p/5867155.html
Copyright © 2020-2023  润新知