在包含大量查詢並在 Oracle Smart View for Office 11.1.2.5.520 版之前建立的部分 Word 文件中,效能可能會是重新整理文件中資料時的問題。在部分情況下,會將 Word 文件中的每個智慧型檢視資料點都視為個別的查詢,而不是在適當時重複使用現有查詢。結果是「重新整理」作業可能十分緩慢。
如果文件包含許多重複的查詢 (即同名的查詢),則會在 Word 的「文件內容」窗格中顯示重複的查詢。例如,「文件內容」可能看起來如下:
重複的查詢是 SmartView14446361770
和 SmartView14446541490
。
您可以執行下面的 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
執行巨集之後,SmartView14446361770
和 SmartView14446541490
這兩個查詢只會在「文件內容」中出現一次: