防止数据编辑、改动带来的不一致性,常常要将excel文件转成pdf文件再共享、发送给对方。有时excel文件还挺多,手头上保存实在是太慢了。就考虑用VBA批量转置。 掌握几个东西,就比较容易了:

1、首先要用Dir函数遍历文件夹中的excel文件。从excel2007开始就取消了FileSearch函数。只能Dir函数了。

2、Dir函数的目的就是遍历这个目录下的文件。第一次用Dir时,是要写参数的(就是在哪个目录下文件路径找什么格式的文件),比如说Dir("D:\Download\"&".xls"),就是遍历“D:\Download”下的xls文件。返回就是第一个xls文件的文件名(包含扩展名)。

3、后面还需要对找到的每个excel做编辑、转置。所以,我一般先定义2个数组,来保存找到的这些excel文件的文件名。其中一个数据保存的是包含扩展名的文件名,另一个数组就是保存不含扩展名的文件名。比如,dim arr(100) as string;dim noExtension(100) as string。每用dir找到一次,就把找到的文件名保存到这两个数组中。

4、Dir函数返回的都是带扩展名的文件名,怎样不要扩展名呢。我一般是用vba.replace来实现。比如,先用myFile=dir把dir返回的文件名保存到myFile中,接着,arr(count)=myFile保存完整文件名到数组中,再用noExtension(count)=vba.replace(myFile,".xls","")来保存不带.xls这个扩展名的文件名。

5、最后就是For语句来将这些找到的excel文件转为pdf文件。使用ExportAsFixedFormat函数。先用数组逐个打开这些excel文件,workbooks.open filename:="D:\Download\" &arr(i),接着就用ActiveWorkbook.ExportAsFixedFormat type:=xlTypePDF,filename:=myPath & noExtension(i) & ".pdf",quality:=xlQualityStandard,includeDocProperties:=false,ignorePrintAreas:=true,openAfterPublish:=false来转置pdf文件。这些参数就不解释了,不难的。

6、逐个打开,逐个关闭,免得搞得一堆窗口。ActiveWorkbook.close saveChanges:=false。

将excel文件批量转成pdf的更多相关文章

  1. word ppt excel文档转换成pdf

    1.把word文档转换成pdf (1).添加引用 using Microsoft.Office.Interop.Word; 添加引用 (2).转换方法 /// <summary> /// ...

  2. 【游戏开发】Excel表格批量转换成lua的转表工具

    一.简介 在上篇博客<[游戏开发]Excel表格批量转换成CSV的小工具> 中,我们介绍了如何将策划提供的Excel表格转换为轻便的CSV文件供开发人员使用.实际在Unity开发中,很多游 ...

  3. DWG文件怎么转换成PDF格式

    在CAD中,设计师们绘制的图纸都是以dwg文件来进行保存的.Dwg文件是不能够直接进行打开查看的,就需要将其格式进行转换一下.将dwg文件转换为PDF格式的进行查看.那具体要怎么来进行操作呢?下面小编 ...

  4. Java通过openOffice实现word,excel,ppt转成pdf实现在线预览

    Java通过openOffice实现word,excel,ppt转成pdf实现在线预览 一.OpenOffice 1.1 下载地址 1.2 JodConverter 1.3 新建实体类PDFDemo ...

  5. 【Python】通过python代码实现demo_test环境的登录,通过csv/txt/excel文件批量添加课程并开启课程操作--(刚开始 项目 页面 模块 元素这种鸟 被称作pageobject 等这些搞完 然后把你的定位器、数据 和脚本在分离 就是传说中那个叫数据驱动 的鸟)

    一.1.通过csv文件批量导入数据 1 from selenium import webdriver from time import ctime,sleep import csv #循环读取每一行每 ...

  6. 把ANSI格式的TXT文件批量转换成UTF-8文件类型

    把ANSI格式的TXT文件批量转换成UTF-8文件类型 Posted on 2010-08-05 10:38 moss_tan_jun 阅读(3635) 评论(0) 编辑 收藏 #region 把AN ...

  7. C#.net word excel powerpoint (ppt) 转换成 pdf 文件

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  8. 【游戏开发】Excel表格批量转换成CSV的小工具

    一.前言 在工作的过程中,我们有时可能会面临将Excel表格转换成CSV格式文件的需求.这尤其在游戏开发中体现的最为明显,策划的数据文档大多是一些Excel表格,且不说这些表格在游戏中读取的速度,但就 ...

  9. 使用wkhtmltopdf将多个html批量转成pdf

    相关工具:wkhtmltopdf 场景:比如笔者有 ognl中文文档,全部是html,现在想把它转成pdf,放到ipad阅读,文件如下: 下载好wkhtmltox(本地安装目录 D:\develop\ ...

随机推荐

  1. Head First 设计模式 --11 代理模式

    代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问. 代码: interface Boss { public void meeting(); } class BossImp implem ...

  2. eclipse: The superclass "javax.servlet.http.HttpServlet" was not found 解决方案

    解决步骤: 1. 安装Tomcat8.5 Server 2. eclipse 新建Tomcat 8.5 Server 3. 配置build path 添加  Server Runtime 1.右键项目 ...

  3. bean生命周期

    一.Bean的定义Spring通常通过配置文件定义Bean.如:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:s ...

  4. php案列分享

    <?php function GetfourStr($len) { $chars_array = array( "0", "1", "2&quo ...

  5. Linux下搭建DNS服务器

    1. 安装需要的软件 由于实验过程是在自己电脑进行的,所以需要安装bind bind-chroot,以下为安装过程. 图1-1 安装bind 图1-2 安装bind-chroot 2.修改DNS主配置 ...

  6. 分治法解决合并排序(c++和Java源代码)

    Java源代码 public class Mergesort1 { public static void merge(int[]a,int low,int mid,int high){//对两组已经排 ...

  7. ORACLE行转列通用过程

    create or replace procedure row_to_col(tabname in varchar2,                                   group_ ...

  8. [划分树] POJ 2104 K-th Number

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 51732   Accepted: 17722 Ca ...

  9. 【Linux】【通信】1.ping不通

    关于为什么ping不通有很多种原因,但直接的表象就网络之间没有成功进行通讯: 在构建虚拟机和win之间的交互时,主要使用了3种网络模式: 桥接bridge VMnet0 主机host     VMne ...

  10. 实验四 简单的PV操作

    实验四 简单的PV操作 专业 网络工程   姓名 方俊晖 学号 201406114309 一.        实验目的 1.掌握临界区的概念及临界区的设计原则: 2.掌握信号量的概念.PV操作的含义以 ...