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