• 调用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
    

      

  • 相关阅读:
    kernel power-save interface
    kernel enable /dev/mem
    kernel sysrq
    SQL Service can not be restarted due to errors of upgrade step
    SQL Server-errors for exceptions, assertions, and hang conditions
    SQL Server-The target principal name is incorrect. Cannot generate SSPI context
    SQL installation-VS Shell installation has failed with exit code 5
    SQL-replication errors,could not find stored procedure
    数据库空间管理-学习笔记
    SQL I/O操作学习笔记
  • 原文地址:https://www.cnblogs.com/jordonin/p/5867155.html
Copyright © 2020-2023  润新知