Word 中的重複查詢讓重新整理緩慢

在包含大量查詢並在 Oracle Smart View for Office 11.1.2.5.520 版之前建立的部分 Word 文件中,效能可能會是重新整理文件中資料時的問題。在部分情況下,會將 Word 文件中的每個智慧型檢視資料點都視為個別的查詢,而不是在適當時重複使用現有查詢。結果是「重新整理」作業可能十分緩慢。

如果文件包含許多重複的查詢 (即同名的查詢),則會在 Word 的「文件內容」窗格中顯示重複的查詢。例如,「文件內容」可能看起來如下:


顯示完整重複查詢清單的「文件內容」窗格。

重複的查詢是 SmartView14446361770SmartView14446541490

您可以執行下面的 Visual Basic 巨集,以移除重複的查詢:

Sub DeleteExtraQueries() 
 ' 
 ' DeleteExtraQueries Macro 
 ' 
 Dim queriesName As Variant 
 Dim uniqueQueriesName As New Collection 
 Dim varName, newList As String 
 Set vars = ActiveDocument.Variables 
 
  For i = 1 To vars.Count 
     varName = vars.Item(i).Name 
     If Not StrComp(vars.Item(i).Name, "SV_QUERY_LIST", vbTextCompare) Then 
         List = vars.Item(i).Value 
         queriesName = Split(List, "<|>") 
         
         On Error Resume Next 
         For Each queryName In queriesName 
             uniqueQueriesName.Add queryName, queryName 
         Next 
         newList = "" 
         For Each queryName In uniqueQueriesName 
             newList = newList & queryName & "<|>" 
         Next 
         newList = Left(newList, Len(newList) - 3) 
         vars.Item(i).Value = newList 
     End If 
     
 Next 
 
End Sub

執行巨集之後,SmartView14446361770SmartView14446541490 這兩個查詢只會在「文件內容」中出現一次:


每個查詢只會出現一次的「文件內容」窗格。