En algunos documentos de Word que incluyen una gran cantidad de consultas y que se han creado antes de la versión de Oracle Smart View for Office 11.1.2.5.520, el rendimiento puede convertirse en un problema al refrescar los datos en el documento. En algunos casos, en lugar de reutilizar las consultas existentes cuando sea oportuno, cada uno de los puntos de datos de Smart View del documento de Word se considera como una consulta independiente. El resultado es que las operaciones de refrescamiento pueden ser muy lentas.
Si el documento contiene muchas consultas duplicadas (es decir, consultas con el mismo nombre), se muestran las consultas duplicadas en el panel Contenido del documento de Word. Por ejemplo, Contenido del documento podría tener este aspecto:
Las consultas duplicadas son SmartView14446361770
y SmartView14446541490
.
Puede ejecutar la macro de Visual Basic siguiente para eliminar las consultas duplicadas:
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
Tras ejecutar la macro, las dos consultas, SmartView14446361770
y SmartView14446541490
solo aparecen una vez en Contenido del documento: