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

マクロの実行後、2つの問合せ(SmartView14446361770SmartView14446541490)は、「ドキュメント・コンテンツ」に一度だけ表示されます。


それぞれの問合せが一度ずつ表示された「ドキュメント・コンテンツ」ペイン