Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
rvsilvestre
Not applicable

Transformar um objeto tabela em uma matriz - Macro

Bom dia a todos,

não manjo de VB e estou me batendo um pouco na macro para transformar um objeto tabela (TB01) em uma matriz para usar no FOR.

Alguém sabe me dizer como faço isso ?

Att,

1 Solution

Accepted Solutions
fosuzuki
Not applicable

Re: Transformar um objeto tabela em uma matriz - Macro

Veja se isso te ajuda, peguei no API Guide:

set TableBox = ActiveDocument.GetSheetObject( "TB01" )

for RowIter = 0 to TableBox.GetRowCount-1

    for ColIter =0 to TableBox.GetColumnCount-1

        set cell = TableBox.GetCell(RowIter,ColIter)

        msgbox(cell.Text)

    next

next

Mas concordo com o Clever, seria bom pensar em alternativas para evitar o uso de macros...

7 Replies
cuv
Not applicable

Re: Transformar um objeto tabela em uma matriz - Macro

Poderia descrever melhor o que pretende fazer? Provavelmente nem irá precisar de macros

fosuzuki
Not applicable

Re: Transformar um objeto tabela em uma matriz - Macro

Veja se isso te ajuda, peguei no API Guide:

set TableBox = ActiveDocument.GetSheetObject( "TB01" )

for RowIter = 0 to TableBox.GetRowCount-1

    for ColIter =0 to TableBox.GetColumnCount-1

        set cell = TableBox.GetCell(RowIter,ColIter)

        msgbox(cell.Text)

    next

next

Mas concordo com o Clever, seria bom pensar em alternativas para evitar o uso de macros...

rphpacheco
Not applicable

Re: Transformar um objeto tabela em uma matriz - Macro

Criei uma macro uma vez para percorrer os valores de uma coluna de tabela.

Sub ForTable

  for i=1 to ActiveDocument.GetSheetObject("TB01").GetRowCount()-1

  Set obj=ActiveDocument.GetSheetObject("TB01")

  Set label=obj.GetCell((i),0)

  MsgBox(label.Text)

  Next

End Sub

Mas repito o mesmo que os demais comentaram sobre o fato de evitar a utilização de Macros e tentar um caminho através das funcionalidades existentes no QlikView

rvsilvestre
Not applicable

Re: Transformar um objeto tabela em uma matriz - Macro

é para envio de e-mails,  eu tenho uma tabela com 2 campos, o e-mail e o conteúdo ( que ficara no meio de um link que sera enviado nesse e-mail) , já tentei de outras formas, só pelo publisher, ou somente alertas, mas não deu certo pois eu preciso associar os e-mails a esse conteúdo.

rvsilvestre
Not applicable

Re: Transformar um objeto tabela em uma matriz - Macro

Vou testar essas duas macros aqui e digo se deu certo, valeu

cuv
Not applicable

Re: Transformar um objeto tabela em uma matriz - Macro

Esses campos (email e conteudo) são calculados?

uma combinação de GetSelectedValues e GetPossibleValues pode resolver isso de uma maneira mais otimizada

rvsilvestre
Not applicable

Re: Transformar um objeto tabela em uma matriz - Macro

Então, são feitos alguns cálculos e algumas condições no Qlikview para montar essa tabela com e-mail e conteúdo. Quando uso ela na macro não faço nenhum cálculo la, apenas uso ela como uma matriz rodando em um for para enviar e-mail com uma url relacionado a esse e-mail (para montar a url uso esse conteúdo do campo).