Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
jamirjunior
Creator
Creator

Limpar campos específicos

Olá pessoal!

Como faz para limpar campos específicos?

exemplificando:

Estou na Pasta SH01, mudo para a Pasta SH02 limpo os campos x1, x3, x7

Estou na Pasta SH03, mudo para a Pasta SH04 limpo os campos x8, x4, x7,x10

Estou na Pasta SH08, mudo para a Pasta SH01 limpo os campos x3, x2

Estou na Pasta SH02, mudo para a Pasta SH03 limpo os campos x1, x4,x8


Pensei em criar uma variável para saber de qual pasta estou saindo, mas como limpar os campos? via macro?

Alguma sugestão?


Obrigado

1 Solution

Accepted Solutions
jamirjunior
Creator
Creator
Author

Funcionou assim:

Sub Limpa_Campos

Set Nome_Aba  = ActiveDocument.Variables("vAba")

if Nome_Aba.GetContent.String = "Principal" then

ActiveDocument.Fields("sistema").Clear

end if

if Nome_Aba.GetContent.String = "Pasta1" then

ActiveDocument.Fields("data").Clear

ActiveDocument.Fields("status").Clear

ActiveDocument.Fields("diretorio").Clear

end if

View solution in original post

9 Replies
IvanOsatchuk
Contributor III
Contributor III

Olá,

Esse post https://qlikcommunity.qliktech.com/thread/265528 sobre disparadores pode te ajudar!

jamirjunior
Creator
Creator
Author

Qual função numa macro realizo para limpar campos? Isso já ajudaria

IvanOsatchuk
Contributor III
Contributor III

acredito que disparadores seja uma opção melhor.

Aqui tem um exemplo de como usar, a lógica é bem parecida para o que você quer, apenas fazendo um para cada campo.

jamirjunior
Creator
Creator
Author

Estou evoluindo...

criei uma variavel chamada vAba, como faz para pegar o valor dela na macro?

A ideia é executar essa macro qdo entrar numa aba nova:

Sub ChooseValue

Set q = ActiveDocument

if ActiveDocument.Fields("vAba") = "Principal" then

ActiveDocument.Fields("sistema").Clear

end if

end sub

não tá funcionando pq não sei como pegar o valor de vAba

IvanOsatchuk
Contributor III
Contributor III

Com macro eu não fazer, nunca gostei muito delas haha

tente assim vai Propriedades->Disparadores->Ao Ativar Pasta


Escolhe a opção Limpar Campo e coloca o campo que deseja.

jamirjunior
Creator
Creator
Author

Tem razão, segundo o fernando.tonial‌, não devemos usar macro

Funções de Macro

jamirjunior
Creator
Creator
Author

opa, quem aconselhou não usar macro foi o nicolett.yuri

jamirjunior
Creator
Creator
Author

Funcionou assim:

Sub Limpa_Campos

Set Nome_Aba  = ActiveDocument.Variables("vAba")

if Nome_Aba.GetContent.String = "Principal" then

ActiveDocument.Fields("sistema").Clear

end if

if Nome_Aba.GetContent.String = "Pasta1" then

ActiveDocument.Fields("data").Clear

ActiveDocument.Fields("status").Clear

ActiveDocument.Fields("diretorio").Clear

end if

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

acho o melhor caminho também por disparador e da forma como você falou.

furtado@farolbi.com.br