Usuário com melhor resposta
Dúvida sobre textbox do Excel com o Word

Pergunta
-
Olá grandes amigos:
Estou com uma dificuldade tremenda em entender as diferenças entre Excel e Word em relação a programação em VBA.
Vejam o que quero fazer: em um documento do Word criei uma caixa de texto e gostaria que a cada vez que esse documento fosse aberto fosse somado mais um dentro dessa caixa de texto.
Ex: o documento foi aberto pela primeria vez vai aparecer 1 dentro da caixa de texto, quando ele for aberto pela segunda vez vai aparecer 2 e assim vai......
O que tá me deixando confuso é que no VBA do Excel é moleza fazer isso mas no Word tá dificil pois no Word a caixa de texto é entendida como Text box, ou seja o text separado do box e tabém eu não sei onde ver o nome da minha caixa de texto.
Tentei assim mas não deu : Active.Document Shape("text box 2")=Active.Document Shape("text box 3")+1
No VBA a caixa de texto continua se chamando textbox tudo junto mas a caixa de texto que colocamos diretamente no documento é chamada de text box separado.
Não consigo nem declarar uma variável referenciando o valor como o conteudo de uma caixa de texto que está no documento.
Tentei assim mas também não dá certo :
dim n
n= ActiveDocuments Shape:=("text box 1")
Mais uma vez muito obrigado!!!
Respostas
-
Olá Braz, tudo na paz??
No meu word caixa de texto é textbox mesmo...
Este código salva o documento após adicionar um na contagem, para que o usuario não saia sem salvar, o que ia prejudicar a contagem...
Ponha este código dentro do objeto ThisDocument
Não se esqueça de por na propriedade da sua caixa de texto a opção Enable como false, para ninguém alterar a contagem..
Para ver o nome o opção modo de design deve estar ativa....Depois clique em propriedades...
Estes botões estão na barra de ferramentas caixa de ferramentas de controle..
Code SnippetPrivate Sub Document_Open()
If TextBox1 = Empty Then
TextBox1 = 1
Else
TextBox1 = TextBox1 + 1
End If
ThisDocument.Save
End Sub
-
Mas você pode inserir uma textbox igual do vba na direto no documento....Exibir\Barra de ferramentas\Caixa de Ferramentas de controle....Nesta você encontra o text, combo, botão....
No seu código ao invés de usar uma variável você tem que usar o próprio controle....tipo(text=text+1)...
Por nada amigo, fica com Deus...
Todas as Respostas
-
Olá Braz, tudo na paz??
No meu word caixa de texto é textbox mesmo...
Este código salva o documento após adicionar um na contagem, para que o usuario não saia sem salvar, o que ia prejudicar a contagem...
Ponha este código dentro do objeto ThisDocument
Não se esqueça de por na propriedade da sua caixa de texto a opção Enable como false, para ninguém alterar a contagem..
Para ver o nome o opção modo de design deve estar ativa....Depois clique em propriedades...
Estes botões estão na barra de ferramentas caixa de ferramentas de controle..
Code SnippetPrivate Sub Document_Open()
If TextBox1 = Empty Then
TextBox1 = 1
Else
TextBox1 = TextBox1 + 1
End If
ThisDocument.Save
End Sub
-
Olá meu amigo Evangelista, tudo na paz sim meu amigo, espero que você também esteja:
Amigão, realmente no VBA do Word quando trabalhamos com Userform e colocamos uma textbox ela continua se chamando textbox tudo junto, mas estou falando em colocar uma caixa de texto diretamente do documento do Word. Sabe quando você vai em EXIBIR>BARRAS DE FERRAMENTAS>DESENHO e depois coloca uma caixa de texto direto no documento? Então é dessa caixa de texto que estou falando, gostaria que ela fosse numerada de acordo com a quantidade de abertura.
Tentei assim depois que postei a dúvida :
Dim Pontos As Integer
______________________________
Private Sub CommandButton1_Click()
Pontos=1
Pontos = Pontos + 1
ActiveDocument.Shapes("Text Box 4").Select
Selection.TypeText Text:=Pontos
End Sub
Esse código acima se você usar o F8 para ficar testando ela funciona só que quando eu fecho o arquivo e abro novamente ele volta ao valor 1.
Existe alguma forma de criar uma linha de comando nessa sub que quando ela for executada ela mude o valor de Pontos?
ou seja, o valor inicial da varável Pontos é 1, quando fosse executada a rotina o valor de Pontos fosse mudado fisicamente para 2, dessa forma quando o arquivo fosse aberto seria somado mais 1 no valor atualizado da variável Ponto.
Muito obrigado meu irmão, fique na paz!! -
Mas você pode inserir uma textbox igual do vba na direto no documento....Exibir\Barra de ferramentas\Caixa de Ferramentas de controle....Nesta você encontra o text, combo, botão....
No seu código ao invés de usar uma variável você tem que usar o próprio controle....tipo(text=text+1)...
Por nada amigo, fica com Deus...
-
Eta meu grande amigo, eu vou te falar rsrsrsrsrsr eu estou dando varada n'água kkkkkkkkkkkkkk
Nem tinha pensado, ou melhor, nem vi a danada da textbox no Word rsrsrsrsrsr
Deus certinho mesmo o que você disse, agora sua sub tem sentido, ou melhor, sempre teve eu que estava dormindo rsrsrsrsrsrsrssr
Muito obrigado mais uma vez meu irmão!!!
Fique com Deus, ha dê uma olhada no vídeo que fiz e coloquei no Orkut, eu mandei o vídeo para vc no seus recados.
Um grande abraço!!!