none
Dúvida sobre textbox do Excel com o Word RRS feed

  • 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!!!
    sábado, 19 de abril de 2008 15:18

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 Snippet
    Private Sub Document_Open()
    If TextBox1 = Empty Then
        TextBox1 = 1
    Else
        TextBox1 = TextBox1 + 1
    End If
    ThisDocument.Save
    End Sub

     

     

     

    Até Braz...
    sábado, 19 de abril de 2008 16:03
  • 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...

     

     

     

     

    sábado, 19 de abril de 2008 18:42

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 Snippet
    Private Sub Document_Open()
    If TextBox1 = Empty Then
        TextBox1 = 1
    Else
        TextBox1 = TextBox1 + 1
    End If
    ThisDocument.Save
    End Sub

     

     

     

    Até Braz...
    sábado, 19 de abril de 2008 16:03
  • 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!!
    sábado, 19 de abril de 2008 17:17
  • 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...

     

     

     

     

    sábado, 19 de abril de 2008 18:42
  • 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!!!
    sábado, 19 de abril de 2008 18:58