VBS 处理断开excel数据链接格式,只保留值
来源:互联网 发布:腾讯云域名认证失败 编辑:程序博客网 时间:2024/05/16 20:29
最近有个项目是将一个excel压缩之后发给客户,但是由于excel数据过大,即使压缩之后仍然接近5M,因为是大批量发送数据,所以非常慢.急需要将EXCEL数据压缩. 后来我想到一个办法,就excel数据公式去掉,只保留数值,发现文件小好多. excel 操作去掉数据链接如图所示.
然后我在网上搜索了好多方法,但是没有去掉 这个链接的做法, 后来先用excel 录制宏的方法, 最后找到用BreakLink方法来处理. 然后又搜索到VBA的此方法详解. 如下
将链接到其他 Microsoft Excel 源或 OLE 源的公式转换为值。
expression.BreakLink(Name, Type)
expression 必需。该表达式返回“应用于”列表中的对象之一。
PictureFile String 类型,必需。链接的名称。
Type XILinkType 类型,必需。链接的类型。
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
For Each LinkSource In objWorkbook.LinkSources
objWorkbook.BreakLink LinkSource,1 '此处 LinkSourses 为链接到外部excel的地址; 1即为要处理断开链接的类型 即为EXCEL 数据源
Next
用了将近一天的时间搜寻资料,至此终于运行成功了. 因为我在搜索资料的时候,没有见网上处理过此类型的例子.记录下来供后来者参考.大家记住红色部分是关键就可以了.
- VBS 处理断开excel数据链接格式,只保留值
- vbs设置Excel表格格式
- 类似excel格式数据的数组处理
- 重复数据只保留一条
- 2003版excel 删除某列数据相同的行只保留一行的方法
- 字符串处理://在母串中查找子串,只保留子串之后的数据
- 字符串处理://在母串中查找子串,只保留子串之前的数据
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- 删除重复数据并只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- Maximum Subarray --leetcode
- linux tar 压缩解压文件夹
- 第十二周项目 2 用递归方法求解(1)——求出n的阶乘
- mysql中的LAST_INSERT_ID()分析
- 如何在svn CLI 下添加@2x图片
- VBS 处理断开excel数据链接格式,只保留值
- 在现有SSH项目中提供REST方式的WebService
- PHP实现装饰模式
- 2013年12月 那年的数据导出
- sass揭秘之@mixin,%,@function
- 二叉排序树的基本操作测试
- Uva 10617 Again Palindrome (区间DP+回文串)
- 当Webservice已经绑定了一个IP后再次修改IP时怎么设置
- x264源码分析 -- x264_slicetype_path