Board logo

標題: [發問] Web查詢只保留資料而不保留基本查詢 [打印本頁]

作者: lalalada    時間: 2012-7-30 10:20     標題: Web查詢只保留資料而不保留基本查詢

一般插入Web查詢之後會發現連結資料(基本查詢)會保存
(按工具列''資料''會有"自動更新"選項)
將導致檔案肥大且存檔/開啟速度緩慢
如果確定日後不再更新資料 該如何刪除基本查詢呢?
我在工具列"資料"-->''匯入外部資料''-->''資料範圍屬性''中有一個"儲存查詢定義"
把勾選取消似乎就可以刪除基本查詢(?)
但問題是用錄製巨集的方式無法紀錄此操作
而資料筆數極多無法以人工方式一一取消
所以想請問這部分的程式碼該怎麼寫
尤其能不能在用vba新增查詢時就設定不要保留基本查詢
只要純資料就好?
感謝各位:)
作者: HSIEN6001    時間: 2012-7-30 11:34

回復 1# lalalada


            .WebFormatting = xlWebFormattingNone   
= xlWebFormattingNone 不保留連結及樣式   
= xlWebFormattingRTF  保留連結及格式設定
作者: lalalada    時間: 2012-7-30 13:33

回復 2# HSIEN6001


感謝回覆!:)
但是好像不是這個...
因為預設值就是xlWebFormattingNone
但是點選資料 匯入外部資料 仍然可以看到自動更新
[attach]11942[/attach]
[attach]11943[/attach]
增加兩張圖希望有比較好理解...
作者: HSIEN6001    時間: 2012-7-30 16:04

回復 3# lalalada


    不好意思!
看來我筆記也做錯了
O_Q!!
作者: GBKEE    時間: 2012-7-30 16:44

回復 3# lalalada
  1. Option Explicit
  2. Sub Ex()
  3.     Dim QueryTable_Name As String
  4.     With ActiveSheet
  5.         With .QueryTables.Add(Connection:="URL;http://forum.twbts.com/index.php", Destination:=Range("A1"))
  6.             QueryTable_Name = .Name
  7.             .Refresh BackgroundQuery:=False
  8.         End With
  9.         .Names(QueryTable_Name).Delete   '刪除:查詢在工作表所定義的範圍名稱
  10.     End With
  11. End Sub
複製代碼

作者: lalalada    時間: 2012-7-30 17:40

回復 5# GBKEE

感謝版主:)
這就是我想要的
剛剛因為name後面那個s弄好久...
第一個有s會錯
第二個沒有會錯XD
作者: HSIEN6001    時間: 2012-7-30 17:50

本帖最後由 HSIEN6001 於 2012-7-30 17:51 編輯

回復 6# lalalada


    請問一下,你是全部下載完才做刪除連結
還是把語法放在web 下載每檔資料的過程中刪除

我剛剛只想到[替代方案]
    Selection.Copy
    Range("A1").PasteSpecial Paste:=xlPasteValues   '貼上值
作者: HSIEN6001    時間: 2012-7-31 08:13

回復 7# HSIEN6001


    終於看懂要丟在網頁下載迴圈的哪裡了^^
謝謝G大的程式碼~^_^~

[attach]11950[/attach]
作者: lalalada    時間: 2012-7-31 09:14

回復 7# HSIEN6001


其實都可以
但是丟在下載迴圈裡感覺比較順~
可是結果檔案沒有小很多耶...'' 猜測失敗~"~
有什麼好方法可以讓檔案小一點嗎?
因為一個檔案動輒要3xM實在有點太大
畢竟上櫃資料只要7.8M以內
作者: HSIEN6001    時間: 2012-7-31 10:34

回復 9# lalalada

Selection.Copy
Workbooks.Add
Range("A1").Paste
另存新檔
檔案大小-->KB
作者: lalalada    時間: 2012-7-31 10:40

本帖最後由 lalalada 於 2012-7-31 10:42 編輯

回復 10# HSIEN6001

??
是指把每頁的資料複製重貼上嗎
我試試看囉
是說我之前在其他地方這麼做的時候會出現''資源不足....''的警告然後當掉
請問有整頁複製貼上的好方法嗎?
selection+copy+paste 對記憶體來說好像是很大的負擔
所以後來我改成複製分頁的方式 不過在這裡不適用
作者: HSIEN6001    時間: 2012-7-31 10:42

本帖最後由 HSIEN6001 於 2012-7-31 10:43 編輯

超過5分鐘,不能修改

更正於此:改cut

Selection.Cut
Workbooks.Add   <-----這個
Range("A1").Paste
Application.CutCopyMode = False




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)