VBS 处理断开excel数据链接格式,只保留值
最近有个项目是将一个excel压缩之后发给客户,但是由于excel数据过大,即使压缩之后仍然接近5M,因为是大批量发送数据,所以非常慢.急需要将EXCEL数据压缩. 后来我想到一个办法,就excel数据公式去掉,只保留数值,发现文件小好多. excel 操作去掉数据链接如图所示.

然后我在网上搜索了好多方法,但是没有去掉 这个链接的做法, 后来先用excel 录制宏的方法, 最后找到用BreakLink方法来处理. 然后又搜索到VBA的此方法详解. 如下
将链接到其他 Microsoft Excel 源或 OLE 源的公式转换为值。
expression.BreakLink(Name, Type)
expression 必需。该表达式返回“应用于”列表中的对象之一。
PictureFile String 类型,必需。链接的名称。
Type XILinkType 类型,必需。链接的类型。
| XlLinkType 可为以下 XlLinkType 常量之一。 |
| xlLinkTypeExcelLinks 对 Microsoft Excel 源的链接。 |
| xlLinkTypeOLELinks 对 OLE 源的链接。 |
VBA 的方法如下:
Sub DealBreakLink()
Dim astrLinks As Variant
' Define variable as an Excel link type.
astrLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
' Break the first link in the active workbook.
ActiveWorkbook.BreakLink _
Name:=astrLinks(1), _
Type:=xlLinkTypeExcelLinks
End Sub
下一步就是转换成VBS的写法. 经过苦苦搜寻,终于找到了VBS 有类似的方法 BreakLink(Name,Type)
问题来了,这个type我该输入什么呢? 然后又经过苦苦搜寻(发现现在很难找到比较全面的参考手册)终于找到Type该输入的类型了.................
XlLinkType
Constant Value
xlLinkTypeExcelLinks 1
xlLinkTypeOLELinks 2
objExcel.Workbooks.Open strSearchPath
Set objWorkbook = objExcel.ActiveWorkbook
'此处 LinkSourses 为链接到外部excel的地址; 1即为要处理断开链接的类型 即为EXCEL 数据源
Next
用了将近一天的时间搜寻资料,至此终于运行成功了. 因为我在搜索资料的时候,没有见网上处理过此类型的例子.记录下来供后来者参考.大家记住红色部分是关键就可以了.
VBS 处理断开excel数据链接格式,只保留值的更多相关文章
- VBS 移除excel数据公式,只保留值
如果将excel数据公式移除,只保留计算之后的值,将大大减少excel文件. 因为有上篇移除excel外部数据链接的经验,进行excel数据公式移除将快的多,方法如下. 首先我们得明白怎么手动移除ex ...
- Excel数据链接取消
Excel数据链接取消 2013-9-14 学校里弄来学生的成绩单,想去掉原来高一的学号,但是一删除,后面的成绩数据就一同消失,如以下两图对比所示. 删除第一列前 删除第一列后 此问题不知道怎么描述, ...
- Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
- SQL SERVER按多字段查找重复的数据并删除只保留一条
由于一次操作失误,给表中插入了多条重复的数据,所以就需要删除重复的数据只保留一条,一时想不到好方法,各种查资料,终于找到了,特意写到这里,方便以后自己用~ 查询: select A.n_PatentI ...
- oracle 查询重复数据并且删除, 只保留一条数据
数据库操作中,经常会因为导数据造成数据重复,需要进行数据清理,去掉冗余的数据,只保留正确的数据 一:重复数据根据单个字段进行判断 1.首先,查询表中多余的数据,由关键字段(name)来查询. sele ...
- oracle 查询重复数据并且删除, 只保留一条数据重复数据
最近面试中都遇到了这样一个数据库题: 删除表中的重复数据,有且只保留一条重复数据. 思路: 1)这个题需要用到rowid,首先找到重复数据的rowid,并找出rowid最大或最小值,作为删除的条件: ...
- python 关于如何把json文件里面的多条数据删除,只保留自己需要的条目
参考博客: https://www.cnblogs.com/bigberg/p/6430095.html https://zhidao.baidu.com/question/7173208338528 ...
- 你真的会玩SQL吗?删除重复数据且只保留一条
在网上看过一些解决方法 我在此给出的方法适用于无唯一ID的情形 表:TB_MACVideoAndPicture 字段只有2个:mac,content mac作为ID,正常情况下mac数据是唯一的,由于 ...
- Oracle查询重复数据并删除,只保留一条记录
前言 项目中,在“资源目录-在线编目”中,资源项子表存在多条重发数据,需要进行数据清理,删除重发的数据,最终只保留一条相同的数据. 操作的表名:R_RESOURCE_DETAILS 操作步骤 一.重复 ...
随机推荐
- Hibernate4.2.21.Final创建入门的HelloHibernet工程
1.在hibernate官网下载hibernate-release-4.2.21.Final.zip并解压 2.新建一个java project工程(HelloHibernet)(myeclipes) ...
- RedHat Enterprise Linux 6 配置Xmanager ,实现图形界面连接
我们经常见到的几种最为常用的windows下远程管理Linux服务器的方法,基本上都是利用SecureCRT,或者是PUTTY等客户端工具通过ssh服务来实现Windows下管理Linux服务器的,这 ...
- Thrift实现C#调用Java开发步骤详解
概述 Thrift实现C#调用Java开发步骤详解 详细 代码下载:http://www.demodashi.com/demo/10946.html Apache Thrift 是 Facebook ...
- PHP-WebService中Endpoint、Disco、WSDL都是做什么的?
Endpoint: http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx web服务的URI地址,你访问之后,就会出现web服务的相 ...
- Python 开发者的 6 个必备库,你都了解吗?
无论你是正在使用 Python 进行快速开发,还是在为 Python 桌面应用制作原生 UI ,或者是在优化现有的 Python 代码,以下这些 Python 项目都是应该使用的. Python那些事 ...
- STS(Spring Tool Suite)创建maven项目
右键菜单选择新建->maven项目 自己创建存放配置文件需要使用的maven文件夹
- TFS2013以独占的方式签出
- DataGridView添加右键菜单等技巧
1). 添加一个快捷菜单contextMenuStrip1:2). 给dataGridView1的CellMouseDown事件添加处理程序: 程序代码 private void DataGridV ...
- memcached+Mysql(主从)
昨天和守住看了下http://hi.baidu.com/156544632/blog/item/3b26527b68623ff00bd18746.html这篇文章,思路很好,但感觉就是太乱了,而且还出 ...
- Linux下的MySQL主主复制
为什么,会有mysql的主主复制.因为在一些高可用的环境中,mysql的主从不能满足现实中的一些实际需求.比如,一些流量大的网站数据库访问有了瓶颈,需要负载均衡的时候就用两个或者多个的mysql服务器 ...