Word 中的重复查询刷新缓慢

在一些包含大量查询并且在 Oracle Smart View for Office 版本 11.1.2.5.520 之前创建的 Word 文档中,刷新文档中的数据时可能会出现性能问题。在某些情况下,Word 文档中的每个 Smart View 数据点都视为单独的查询,而不是根据需要重复使用现有查询。结果是刷新操作可能会非常缓慢。

如果文档包含许多重复的查询(即具有相同名称的查询),则重复的查询将显示在 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 这两个查询仅在“文档内容”中显示一次:


其中每个查询只显示一次的“文档内容”窗格。