VBS 處理斷開excel資料鏈結格式,只保留值

2022-03-24 12:23:15 字數 1765 閱讀 8614

最近有個專案是將乙個excel壓縮之後發給客戶,但是由於excel資料過大,即使壓縮之後仍然接近5m,因為是大批量傳送資料,所以非常慢.急需要將excel資料壓縮. 後來我想到乙個辦法,就excel資料公式去掉,只保留數值,發現檔案小好多. excel 操作去掉資料鏈結如圖所示.

然後我在網上搜尋了好多方法,但是沒有去掉 這個鏈結的做法, 後來先用excel 錄製巨集的方法, 最後找到用breaklink方法來處理. 然後又搜尋到vba的此方法詳解. 如下

將鏈結到其他 microsoft excel 源或 ole 源的公式轉換為值。

expression.breaklink(name,type)

expression      必需。該表示式返回「應用於」列表中的物件之一。

picturefilestring型別,必需。鏈結的名稱。

typexilinktype型別,必需。鏈結的型別。

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

setobjworkbook

= objexcel.activeworkbook

foreach

linksource

inobjworkbook.linksources

objworkbook.breaklink

linksource,

1 '此處 linksourses 為鏈結到外部excel的位址; 1即為要處理斷開鏈結的型別 即為excel 資料來源

next

VBS 處理斷開excel資料鏈結格式,只保留值

最近有個專案是將乙個excel壓縮之後發給客戶,但是由於excel資料過大,即使壓縮之後仍然接近5m,因為是大批量傳送資料,所以非常慢.急需要將excel資料壓縮.後來我想到乙個辦法,就excel資料公式去掉,只保留數值,發現檔案小好多.excel 操作去掉資料鏈結如圖所示.然後我在網上搜尋了好多方...

資料鏈的建立和資料鏈的輸出

本次程式主要實現資料鏈的儲存和輸出,並把輸出的數值寫在乙個檔案中 本程式的主要 是在定義 lnode p l next 定義乙個結點指標p指向頭結點的下乙個結點 還有資料鏈建立之後,資料鏈上得指標不能返回,只有利用創立的方法中呼叫修改資料鏈的方法 再寫方法 方法中套方法 include includ...

資料鏈路協議

鏈路就是一條無源的從點到點的物理線路段,中間沒有任何其他的交換節點。在進行通訊時,兩台計算機的通訊通路是由多條鏈路串接而成的。當需要在一條鏈路上通訊時,除了需要物理鏈路,還需要一些規程來控制這些資料的傳輸,把實現這些規程的硬體和軟體加到鏈路上,就構成了資料鏈路 差錯控制自動請求重發又可以稱為後向糾錯...