Excel) (QueryTable.PreserveColumnInfo 屬性
如果每次更新查詢表時,欄排序、篩選和版面配置資訊都將保留,則其值為 True。 預設值為 True。 可讀寫的 Boolean。
語法
運算式。PreserveColumnInfo
表達 代表 QueryTable 物件的變數。
註解
只有當查詢表使用資料庫連線時,本屬性才會產生作用。
您可以將本屬性值設定為 False,以便與舊版的 Microsoft Excel 相容。
如果您使用使用者介面匯入資料,Web 查詢或文字查詢中的資料會匯入為 QueryTable 物件,而所有其他外部資料則會匯入為 ListObject 物件。
如果您使用物件模型匯入資料,則必須將 Web 查詢或文字查詢中的資料匯入為 QueryTable,而所有其他外部資料則可以匯入為 ListObject 或 QueryTable。
使用ListObject的QueryTable屬性來存取PreserveColumnInfo屬性。
範例
這個範例會保留欄的排序、篩選和版面配置資訊,以便與舊版的 Microsoft Excel 相容。
Dim cnnConnect As ADODB.Connection
Dim rstRecordset As ADODB.Recordset
Set cnnConnect = New ADODB.Connection
cnnConnect.Open "Provider=SQLOLEDB;" & _
"Data Source=srvdata;" & _
"User ID=wadet;Password=4me2no;"
Set rstRecordset = New ADODB.Recordset
rstRecordset.Open _
Source:="Select Name, Quantity, Price From Products", _
ActiveConnection:=cnnConnect, _
CursorType:=adOpenDynamic, _
LockType:=adLockReadOnly, _
Options:=adCmdText
With ActiveSheet.QueryTables.Add( _
Connection:=rstRecordset, _
Destination:=Range("A1"))
.Name = "Contact List"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應