精华内容
下载资源
问答
  • 解压缩,用office的Excel打开《vba批量另存为工具.xlsm》文件,启用宏 选择转换文件,ctrl A 本目录下文件全选,注意去掉后缀后不要有名称相同的,不然会报不能打开相同名称工作薄错误。 点击执行,选择另存的...

        多个Excel文件如何批量存成xls格式、2003格式、2007格式、2010格式、xlsx格式 、csv格式、或pdf格式,或格式之间进行转换的工具提供如下:

       下面是 vba编写的excel批量转换为 ,xls格式、xlsx格式 、csv格式、或pdf格式的工具。用office打开就可以使用。

        使用界面如下:

         

     

     

    解压缩,用office的Excel打开《vbaPLLCW.xlsm》文件,启用宏

        选择转换文件,ctrl  A 本目录下文件全选,注意去掉后缀后不要有名称相同的,不然会报不能打开相同名称工作薄错误。

          点击执行,选择另存的目录,注意不要选择原来的目录,默认覆盖目录中已有文件。

        下载地址: www.excelfb.com  点击:  批量转换Excel格式    下载后解压

       核心代码:

    ‘点击执行则将listBox1中的文件执行批量另存为
    Private Sub CommandButtonRun_Click()
        Dim saveFolderSel As String
        Dim saveType As String
        saveFolderSel = SelectFolder()
        If Len(saveFolderSel) <= 0 Then
            MsgBox ("未选择保存的目录")
        End If
        saveType = GetSaveType()
        If Len(saveType) <= 0 Then
            MsgBox ("未选择保存的文件类型")
        End If
        
        If Len(saveType) > 0 And Len(saveFolderSel) > 0 Then
    
            saveFolder.Caption = "另存到:" + saveFolderSel
            
            Dim allCount As Long
            allCount = ListBox1.ListCount
            With ListBox1
                For i = 0 To .ListCount - 1
                    LabelShowInfo.Caption = "正在处理第" + Str(i + 1) + "个,总共" + Str(allCount) + "个"
                    Dim filePath As String
                    filePath = .List(i)
                    Call SaveAs_DelDefaultMaxRowCol(filePath, saveFolderSel, saveType)
                    LabelShowInfo.Caption = "正在处理第" + Str(i + 1) + "个,总共" + Str(allCount) + "个"
                Next
                
            End With
            LabelShowInfo.Caption = ""
            MsgBox ("全部完成,确定后程序退出,记住另存为的目录:" + saveFolderSel)
    
        
        End If
        
        
    End Sub
    ‘按照格式另存为
    Sub SaveAs_DelDefaultMaxRowCol(file As String, folder As String, saveType As String)
    
        
        Dim fileName As String
        fileName = GetFileNameByFilePath(file)
        
        Dim saveFilePathStr As String
        
        saveFilePathStr = folder + "\" + fileName + saveType
    
        If saveType = ".xlsx" Then
            Workbooks.Open fileName:=file
            Application.DisplayAlerts = False
            ActiveWorkbook.SaveAs fileName:=saveFilePathStr, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
            ActiveWorkbook.Save
            ActiveWorkbook.Close
        ElseIf saveType = ".xls" Then
            Workbooks.Open fileName:=file
            Application.DisplayAlerts = False
            ActiveWorkbook.SaveAs fileName:=saveFilePathStr, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
            ActiveWorkbook.Save
           ActiveWorkbook.Close
        ElseIf saveType = ".csv" Then
            Workbooks.Open fileName:=file
            Application.DisplayAlerts = False
            ActiveWorkbook.SaveAs fileName:=saveFilePathStr, FileFormat:=xlCSV, CreateBackup:=False
            ActiveWorkbook.Save
            ActiveWorkbook.Close
        ElseIf saveType = ".pdf" Then
            Workbooks.Open fileName:=file
            Application.DisplayAlerts = False
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=saveFilePathStr, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
            ActiveWorkbook.Close
        End If
    
        Application.DisplayAlerts = True
    End Sub
    

     

    展开全文
  • xls另存为xlsx 在要合并和文件同级目录下, 新建一个Excel文件,按 alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。等候一会就OK了。 '***********访问当前文件夹下所有子...

    xls另存为xlsx

    在要合并和文件同级目录下, 新建一个Excel文件,按 alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。等候一会就OK了。

    '***********访问当前文件夹下所有子文件夹及文件,
    Dim iFile(1 To 100000) As String
    Dim count As Integer
    Sub xls2xlsx()
        iPath = ThisWorkbook.Path
        On Error Resume Next
        count = 0
        zdir iPath
        For i = 1 To count
            If iFile(i) Like "*.xls" And iFile(i) <> ThisWorkbook.FullName Then
                MyFile = iFile(i)
                FilePath = Replace(MyFile, ".xls", ".xlsx")
                If Dir(FilePath, 16) = Empty Then
                    Set WBookOther = Workbooks.Open(MyFile)
                    Application.ScreenUpdating = False
                    ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
                    WBookOther.Close SaveChanges:=False      '解决不能close 文件问题
                    Application.ScreenUpdating = True
                End If
            End If
        Next
    End Sub
    Sub zdir(p)       '访问当前文件夹下所有子文件夹及文件
      Set fs = CreateObject("scripting.filesystemobject")
      For Each f In fs.GetFolder(p).Files
        If f <> ThisWorkbook.FullName Then count = count + 1: iFile(count) = f
      Next
      For Each m In fs.GetFolder(p).SubFolders
          zdir m
      Next
    End Sub
    

    合并多个文件是一个文件的多个sheet

    新建一个Excel文件,按 alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。等候一会就OK了。

    合并后,查看sheet总数:
    在任意一个单元格输入函数
    =INFO("numfile")

    Sub CombineWorkbooks()
    Dim FilesToOpen, ft
    Dim x As Integer
    Application.ScreenUpdating = False
    On Error GoTo errhandler
    FilesToOpen = Application.GetOpenFilename _
    (FileFilter:="Micrsofe Excel文件(*.xlsx), *.xlsx", _
    MultiSelect:=True, Title:="要合并的文件")
    If TypeName(FilesToOpen) = "boolean" Then
    MsgBox "没有选定文件"
    'GoTo errhandler
    End If
    x = 1
    While x <= UBound(FilesToOpen)
    Set wk = Workbooks.Open(Filename:=FilesToOpen(x))
    wk.Sheets().Move after:=ThisWorkbook.Sheets _
    (ThisWorkbook.Sheets.Count)
    x = x + 1
    Wend
    MsgBox "合并成功完成!"
    errhandler:
    'MsgBox Err.Description
    'Resume errhandler
    End Sub
    
    展开全文
  • VBA代码模块,EXCEL图片一键另存为 Sub Opiona() 'On Error Resume Next '// 发生错误,自动执行下一句,就是忽略错误 Application.ScreenUpdating = False '//关闭屏幕刷新 Application.DisplayAlerts = False '//...

    VBA代码模块,EXCEL图片一键另存为

    Sub Opiona()
    
    'On Error Resume Next    '// 发生错误,自动执行下一句,就是忽略错误
    Application.ScreenUpdating = False '//关闭屏幕刷新
    Application.DisplayAlerts = False '//关闭系统提示
    t = Timer   '//开始时间
    For Each shap In ActiveSheet.Shapes  '//循环所有图片
        Set Rng = shap.TopLeftCell  '//Range 对象,它代表位于指定对象左上角下方的单元格
        'MsgBox shap.Name & "--" & Rng.Address
        shap.Copy  '//复制图片
           With ActiveSheet.ChartObjects.Add(0, 0, shap.Width, shap.Height).Chart  '//建立一个新图片
                .Paste  '//将复制的图片放进去
                .Export ThisWorkbook.Path & "/" & Range(Rng.Address).Value & ".JPG"  '//导出为图片格式,如JPG,GIF
                .Parent.Delete   '//删除自己建立的图片
            End With
    Next
    Application.ScreenUpdating = True '//恢复屏幕刷新
    Application.DisplayAlerts = True '//恢复系统提示
    MsgBox "一共用时:" & Format(Timer - t, "#0.0000") & " 秒"  '//提示所用时间
    End Sub
    展开全文
  • 一个excel文件就是一个excel工作簿例如abc.xls,一个工作簿中包含1个到若干个工作表例如sheet1,也就是说工作簿是由工作表组成的。 下面我们就来了解一下工作簿的操作 打开工作簿 Application.displayAlerts=...

     

                                               工作表的基础操作

    上一章我们学习了工作表的一些操作,这一章就来学习一下对工作簿的操作

    • 工作表和工作簿有什么区别呢?

    一个excel文件就是一个excel工作簿例如abc.xls,一个工作簿中包含1个到若干个工作表例如sheet1,也就是说工作簿是由工作表组成的。

    下面我们就来了解一下工作簿的操作

    • 打开工作簿

    Application.displayAlerts=false   //点击保存会有弹框出现,所以要先关闭弹框

    Application.screenUpdating =false   //操作工作簿桌面会出现闪动。也先关闭掉

    Workbooks.open filename:=”d:\data\1.xlsx”  //打开D盘data文件下的1.xlsx工作簿

    Activeworkbook.sheets(1).range(“a1”)=”到此一游”  // Activeworkbook表示当前活动的工作簿。Activeworkbook.sheets(1).range(“a1”)指当前活动的工作簿的第一个工作表的A1单元格填写”到此一游”。证明我们真的打开过。

    Activeworkbook.Save  //保存一下刚刚做的修改

    Activeworkbook.close //关闭工作簿

    Application.displayAlerts=true   //开启

    Application.screenUpdating =true  //开启

     

    • 新建工作簿

    Application.displayAlerts=false

    Application.screenUpdating =false

    Workbooks.add  //新建一个工作簿

    Activeworkbook.sheets(1).range(“a1”)=”到此一游haha” //新建工作簿会自动打开,默认有一个sheet1工作表,我们在新建工作簿的第一个工作表的A1单元格填写”到此一游”。证明我们的操作成功了。

    Activeworkbook.Save   //保存一下,新建文档默认会保存到文档目录下面,你可以手动新建一个工作簿直接点保存看一下默认地址。

    Activeworkbook.close  //关闭

    Application.displayAlerts=true

    Application.screenUpdating =true

     

    • 保存工作簿

    Activeworkbook.SaveAsfilename:=”d\data\2.xlsx”

     

    • 关闭工作簿

    Activeworkbook.close

     

    • Foreach 的用法

    前几章我们一张掌握了for的用法,今天来介绍for的另一种写法。。

    有点像php语言的写法,下面我们通过两段代码来更直观的了解for each

     需求1:将单元格A1 到A10 都赋值1

    For的写法:

    Dim i as integer For i=1 to 10    Range(“a” & i)=iNext

    For each的写法:

    Dim ra as range  For each ra in range(“a1:a10”)   ra=1  //上面我们定义了ra as range,ra是单元格类型,表示a1到a10单元格  Next

     

    需求2:将单元格A1 到A10 赋值为他们各自的下标

    For的写法:

    Dim i as integer For i=1 to 10    Range(“a” & i)=i  Next

     

    For each的写法:

    Dim ra as range     For eachra in range(“a1:a10”)       i=i+1    //  每次循环i+1,i初始值默认是0       Ra=i   //等价于range(“a”& i)= i    Next
    

    学会了for each 我们来实战一下

    案例1

    题目:

        除了叫“绝不能删”的表不删除外,批量删除工作簿中的其他表。

    分析:

       1. 要判断每一张表的名字,不等于“绝不能删”,执行删除操作

       2.要定义一个变量类型为工作表dim sht as worksheet

       3.执行删除操作会有提示弹框要事先关闭

    代码:

    sub del()Dim sht as worksheetApplication.displayAlerts=false  //执行删除操作会有弹框出现,所以要先关闭弹框  For each sht in sheets    If sht.name <>”决不能删” then      sht.delete    End if  NextApplication.displayAlerts=trueend sub
    

    案例2

    题目:

    将工作簿中的所有工作表另存为一个个excel文件,另存地址为d:\data

     

    代码:

    sub chaifen()
    
    For each sht in sheetsSht.copy    // copy不指定位置默认新建一个工作簿Activeworkbook.SaveAs filename:=”d\data\”& sht.name & ”.xlsx” //文件路径Activeworkbook.close//关闭Nextend sub
    

     结果如下图:

    对数据分析或者vba有兴趣的朋友可以关注我的公众号,我会在公众号里面发学习笔记,全是干货。一起学习一起成长!

     

     

     

     

    展开全文
  • 将sheet工作表批量另存为独立的工作簿,并命名成sheet表的名称 用法:打开excel文档,按ALT+F11调出VB编辑器,点插入模块,粘贴代码,按F5运行即可。 Sub saveworkbook() '将sheet工作表批量另存为独立的工作簿,并...
  • 一个excel文件就是一个excel工作簿例如abc.xls,一个工作簿中包含1个到若干个工作表例如sheet1,也就是说工作簿是由工作表组成的。下面我们就来了解一下工作簿的操作打开工作簿Application.displayAlerts=false //...
  • 在日常工作中我们会不定时的整理一下电脑上的电子档案资料,于是就会把某些资料按照某种类别归档到某个文件夹下。...下面,我们来看看批量操作的办法,主要操作办法就是借助表格工具和批命令。一、文件夹批...
  • 快速批量另存工作表

    千次阅读 2019-01-26 03:31:16
    不少Excel用户都遇到过这样的场景,一个工作簿中有N多个工作表,经常需要把全部(或者还多个)工作表单独另存为Excel文件,然后可能邮件发送个不同部门。操作步骤如下: 选择工作表 选中全部单元格 拷贝 新建工作簿...
  • VBA一键sheet页另存为Excel批量拆分Excel sheet页为单个文档。
  • excel多个工作表另存为单独的工作薄 工作中为了方便,我们常常将多个数据类似的表放在同一个工作薄,但是如果要对每个文件执行相同的转换或处理,需要用R或Python读取每张表的数据,这时就要将其拆分为一个个...
  • excel批量超链接

    2012-07-31 08:23:23
    批量添加本地文件地址到excel另存为html可生成文件索引,网页索引,用于制作资源下载站等。
  • csv2excel批量转换工具

    2015-04-28 15:42:28
    csv文件批量转换为xls,代替手工用EXCEL打开再另存为的麻烦。
  • # _*_ coding: utf-8 _*_ #导入xls的模块 ...#批量改名字,把.xlsm的后缀改成.xls files = os.listdir('D:\\work\\testcode\\python\\his') for name in files: #分离文件名字和后缀 portion = os.pa
  • excel批量更新oracle数据表

    千次阅读 2018-02-08 16:43:55
    在实际工作中,可能存在对公司内已存在的数据库内容的某一些...2.把excel文件另存为*.txt或 *.csv文件,如下图(最好是*.csv格式,容易对数据做修改)或3.把转换好的*.txt或 *.csv文件上传至数据库中。打开工具(...
  • 代码(需要添加Microsoft.Office.Interop.Excel.dll引用 另存时用到) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.OleDb;
  • 尽管微软Office Excel提供了将表格文件另存为PDF文件的功能,但是需要将几十上百个Excel文件转换为PDF文档时,把文件逐一的去用“另存为”保存成PDF会浪费大量时间,令人头疼。这个Excel转PDF转换器软件可以将Excel...
  • 这是一个使用PS批量生成图片的脚本模型,程序中Excel中分别读取某一列的文本,填入到PS的第一个文本图层,并更改分别更换第二个图层的图片,然后另存为JPEG图片。  整个过程可以自动批量完成,省去了单独输入的麻烦...
  • 2.另存为分隔符的txt 3.重命名.BAT 4.双击运行 5.BAT存的位置就是批量新建文件夹的位置 这个也比较厉害: 1.新建一个txt,输入:DIR *.* /B >LIST.TXT 2.修改扩展名为BAT 3.双击BAT文件 4.当前文件夹内...
  • 用VBA批量转换Excel工作簿PDF

    千次阅读 2013-07-18 09:46:39
     Excel 2010和Excel 2007可以将Excel工作簿另存为PDF格式文件,但手工的方法每次只能转换一个工作簿,要转换多个工作簿就显得有些繁琐。如果没有批量转换软件,在Excel 2010和Excel 2007中,利用VBA代码也可以轻松...
  • 的字段行,只保留我们需要的数据部分单击"文件"--"另存为",类型选择为"CSV(逗号分隔)(*.csv)",将excel另存为csv文档。(之后的提示全选”确定“)另存为的ee.csv是可以用记事本或者notepadd++等文本编辑器打开的,...
  • plsql数据导入 1.当数据量较小的时候,将excel的字段整理成和...将exce文件另存为文本文件 2.打开plsql的TextImport 选择生成的文本文件 3.选择要导入的表,以及相应字段 最后点左下角的import就可以了~。 ...
  • i将excel另存为能启用宏的xlsm格式 二、将url转化为图片的三种方法 1、同时保留图片和连接(编写vb程序并调用对应的宏) 首先先把所有链接转化为超链接形式(蓝色字体带下划线) 有个别链接为黑体格式 开发...
  • vba批量存储excel图片

    2018-11-03 11:16:15
    VBA实现批量按文件名存储excel图片到文件夹里,非常方便快捷,不用手动一张一张另存为图片了,为excel办公减少了不必要的时间
  • 有时候我们的Excel文件中保存了大量图片,我们需要将这些图片保存下来。我们第一反应可能是选中每一张图片,然后点击保存,但是,你会发现Excel并没有提供图片另存...把Excel文件另存为网页即可导出全部图片在Excel...
  • 如果是少量的Excel文件可以采用打开——另存为。。,选择想要转换的格式就OK了! 2、利用Excel的VBA 在你要转换的CSV文件夹中新建一个EXCEL文件并打开,创建一个宏。 然后在VBA通用窗体中输入下面代码: Sub 转换() ...
  • 很遗憾,这种批处理命令并不支持Excel文件的合并,只能通过将Excel文件另存为csv文件的方法来操作,但是需要注意这样操作Excel文件中的公式,图片及格式都会丢失。不过我们可以推荐大家下面这个一键批量合...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 253
精华内容 101
关键字:

excel批量另存为