Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ronaldo Mologni

Vba - Word

Recommended Posts

Olá pessoal,

 

Eu criei uma tabela no Word e fiz o preenchimento da mesma usando um FORM (VBA).

 

A tabela tem 3 linha e 2 colulas.

 

O arquivo em Word é salvo e também será aberto várias vezes, o meu problema é quando abre o arquivo, ele executa o FORM(VBA) para preencher a tabela novamente.

 

Eu preciso criar um esquema, para que execute o FORM (VBA) somente se a coluna 2 da linha 2 estiver em branco.

 

Alguém pode me ajudar a resolver este probleminha, por favor.

 

Abaixo segue os comandos que usei no FORM para inserir os dados na tabela do WORD:

 

Private Sub Cmd_Inserir_dados_Click()

ActiveDocument.Tables(1).Cell(1, 2).Range.InsertAfter ComboBox1
ActiveDocument.Tables(1).Cell(2, 2).Range.InsertAfter txt_Processo
ActiveDocument.Tables(1).Cell(3, 2).Range.InsertAfter txt_Responsavel

Unload Me

End Sub

Private Sub Frm_DadosIniciais_Initialize()

ComboBox.Value = ""
txt_Processo.Value = ""
txt_Responsavel.Value = ""
txt_Processo.SetFocus

End Sub

Private Sub UserForm_Initialize()

ComboBox1.AddItem "Transceptor com Espalhamento Espectral - Bluetooth"
ComboBox1.AddItem "teste2"
ComboBox1.AddItem "teste3"

End Sub

 

Aqui está o comando que tentei utlizar para fazer isso, porem não está funcionando.

 

Coloquei ele no evento Document Open.

 

Public Function Analise()


With Application.ActiveDocument.Tables(1)


If .Cell(2, 2).Range.Text = "" Then '(quando chega aqui ele pula direto para End If e não executa Frm_DadosIniciais.show. Se eu colocar no lugar de "=" (igual) diferente "<>" ele executa o Frm_DadosIniciais.show, tendo ou não tendo dados na tabela.

Frm_DadosIniciais.Show


End If
End With

End Function

Fico grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Public Function Analise()

If .Cell(2, 2).Range.Text = "" Then

O .Cell(2, 2).Range.Text tem o texto da célula mesmo? Pelo menos no Excel, eu utilizava FormulaR1C1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Public Function Analise()
If .Cell(2, 2).Range.Text = "" Then
O .Cell(2, 2).Range.Text tem o texto da célula mesmo? Pelo menos no Excel, eu utilizava FormulaR1C1.

 

 

Desculpa eu não estou entendendo a sua pergunta...

 

Mais então, nesta celula (2,2)(linha2, coluna2), irá ter texto tambem.

 

quando eu abrir o arquivo WORD, este "IF" tem que verificar se tem texto na celula (2,2), se tiver, ele não pode executar o FORM que preenche novamente a tabela. Se não tiver texto na celula (2,2)estiver vazio, ele executa o FORM para preencher do campo.

 

Eu não sei se está faltando mais algum comando antes do "IF", parece que ele não entende que ("") é vazio. Pq no Excel quando coloca TAL COISA = "" ele entende que é vazio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.