<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Ajuda em Macro in Brasil</title>
    <link>https://community.qlik.com/t5/Brasil/Ajuda-em-Macro/m-p/386643#M10720</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bom galera... Dei uma pesquisada na comunidade Development (QlikView Desktop) e achei uma solução para este meu problema em questão.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inclui o seguinte comando nos intervalos de cada bloco de instrução:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ActiveDocument.GetApplication.WaitForIdle&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Assim, ele realiza as seleções necessárias, espera o calculo do objeto e depois parte para as próximas seleções.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Não tive problema com relação a performance &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/wink.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 20 May 2013 19:13:46 GMT</pubDate>
    <dc:creator>rphpacheco</dc:creator>
    <dc:date>2013-05-20T19:13:46Z</dc:date>
    <item>
      <title>Ajuda em Macro</title>
      <link>https://community.qlik.com/t5/Brasil/Ajuda-em-Macro/m-p/386642#M10719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Boa tarde pessoal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sei que a utilização de macros não é recomendada para o QlikVew mas no relatório que tenho serei obrigado a utilizar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A finalidade é criar uma espécie de "Robô" que ao carregar a aplicação execute a macro que vá em cada pasta, cada nível do objeto tabela e execute um refresh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ou seja, ele terá de fazer a seguinte sequência: ativar a pasta COMPRAS, selecionar o objeto Tabela com o nome de "META_COM" e fará um refresh. Após isso ele irá no mesmo objeto selecionar o campo "VENDA" e fará o mesmo refresh. A ideia é descer mais dois níveis sempre selecionando um campo e atualizando.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Criei uma macro para testar:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp; &lt;P&gt;sub Robo_Refresh&lt;BR /&gt;&lt;BR /&gt;ActiveDocument.ClearAll True&lt;BR /&gt;&lt;BR /&gt;'Definição das variáveis Data, Mês e Ano&lt;BR /&gt;Data = DateAdd("M",-1,Date()) &lt;BR /&gt;DataMes = Month(Data)&lt;BR /&gt;DataAno = Year(Data)&lt;BR /&gt;&lt;BR /&gt;'Após a definição das variáveis de tempo, a macro irá selecionar o ano atual&lt;BR /&gt;ActiveDocument.Fields("Ano").Select DataAno&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'Setando uma variável com o nome COMPRAS para a pasta COMPRAS&lt;BR /&gt;set A=ActiveDocument.Sheets("COMPRAS")&lt;BR /&gt;'Ativando a pasta COMPRAS&lt;BR /&gt;ActiveDocument.Sheets("COMPRAS").Activate&lt;BR /&gt;&lt;BR /&gt;'Setando uma variável para o objeto de calculo do realizado e das metas do documento&lt;BR /&gt;set obj = ActiveDocument.GetSheetObject("META_COM")&lt;BR /&gt;obj.Restore&lt;BR /&gt;&lt;BR /&gt;ActiveDocument.Fields("INDICADOR").Select "VENDA"&lt;BR /&gt;&lt;BR /&gt;set obj = ActiveDocument.GetSheetObject("META_COM")&lt;BR /&gt;obj.Restore&lt;BR /&gt;&lt;BR /&gt;ActiveDocument.Fields("Gerente de Categoria").Select "ALEXANDRE"&lt;BR /&gt;&lt;BR /&gt;set obj = ActiveDocument.GetSheetObject("META_COM")&lt;BR /&gt;obj.Restore&lt;BR /&gt;&lt;BR /&gt;ActiveDocument.Fields("Categoria/Setor").Select "TINTAS"&lt;BR /&gt;&lt;BR /&gt;set obj = ActiveDocument.GetSheetObject("META_COM")&lt;BR /&gt;obj.Restore &lt;/P&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp; &lt;P&gt;end sub &lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;O problema é que quando mando executar, a macro atualiza apenas o último nível do código.&lt;/P&gt;&lt;P&gt;Sou um pouco leigo em VBA, mas será que existe algum comando que execute as etapas por vez?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Obrigado pela atenção!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 May 2013 15:24:10 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Ajuda-em-Macro/m-p/386642#M10719</guid>
      <dc:creator>rphpacheco</dc:creator>
      <dc:date>2013-05-20T15:24:10Z</dc:date>
    </item>
    <item>
      <title>Re: Ajuda em Macro</title>
      <link>https://community.qlik.com/t5/Brasil/Ajuda-em-Macro/m-p/386643#M10720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bom galera... Dei uma pesquisada na comunidade Development (QlikView Desktop) e achei uma solução para este meu problema em questão.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inclui o seguinte comando nos intervalos de cada bloco de instrução:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ActiveDocument.GetApplication.WaitForIdle&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Assim, ele realiza as seleções necessárias, espera o calculo do objeto e depois parte para as próximas seleções.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Não tive problema com relação a performance &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/wink.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 May 2013 19:13:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Ajuda-em-Macro/m-p/386643#M10720</guid>
      <dc:creator>rphpacheco</dc:creator>
      <dc:date>2013-05-20T19:13:46Z</dc:date>
    </item>
  </channel>
</rss>

