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
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
Olá,
Esse post https://qlikcommunity.qliktech.com/thread/265528 sobre disparadores pode te ajudar!
Qual função numa macro realizo para limpar campos? Isso já ajudaria
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.
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
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.
Tem razão, segundo o fernando.tonial, não devemos usar macro
opa, quem aconselhou não usar macro foi o nicolett.yuri
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
acho o melhor caminho também por disparador e da forma como você falou.