Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Preencher planilha excel a partir de formulario do Word

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Preencher planilha excel a partir de formulario do Word

Mensagem por Adonias »

Boa noite pessoal inteligente,
Tenho um novo probleminha que estou perdido.
Tenho um arquivo word que possui um formulário que alimenta uma planilha mesmo estando fechada.
Consigo abrir a planilha, mas nao consigo lançar os dados do form que está no word dentro da planilha e depois salvar.

Alguém aí tem uma dica para ajustar esse código para que o lançamento dos dados do form seja feito na planilha aberta?
Abra o arquivo word, acionde a aba Desenvolvedor e clique no Botao Abrir Formulario
Anexos
ade.zip
(26.76 KiB) Baixado 156 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher planilha excel a partir de formulario do Word

Mensagem por webmaster »

Adonias,

O arquivo word anexado está vazio.


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Preencher planilha excel a partir de formulario do Word

Mensagem por Adonias »

Os arquivos estão vazios mesmos. Pode preencher os textbox com qualquer dado. O código deverá lançar os dados do textbox na planilha a partir da linha 1


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Preencher planilha excel a partir de formulario do Word

Mensagem por Adonias »

Perdão. Agora que percebi que enviei o arquivo errado.
Segue arquivo certo.
Descupem.
Anexos
ADE.zip
(26.76 KiB) Baixado 146 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Preencher planilha excel a partir de formulario do Word

Mensagem por Adonias »

Pessoal, não sei onde estou com a cabeça. Não tinha feito o código no módulo projeto e por isso não estava indo junto com o arquivo.
Segue agora
Anexos
ADE.zip
(33.33 KiB) Baixado 160 vezes


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Preencher planilha excel a partir de formulario do Word

Mensagem por Adonias »

Inacreditável, errei de novo.

Segue
Anexos
ADE.zip
(35.11 KiB) Baixado 167 vezes


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher planilha excel a partir de formulario do Word

Mensagem por webmaster »

Adonias,

Pelo que pude ver no código, o form abre sim a planilha nesta linha:

Código: Selecionar todos

WApp.Workbooks.Open "C:\Users\ADONIAS\Desktop\Lúcia\Acompanha ADE.xlsm" 'endereço
Caso a planilha já esteja aberta, vai sim dar problema de múltiplo acesso. Você pode ativar o modo de compartilhamento de planilha, mas isso limita muito os recurso usados.

O que recomendo é que você separe as abas de dados em um outro arquivo que sirva para o propósito de armazenar os dados só e tão somente. Toda operação realizada então abrirá a planilha, manipulará os dados, salvará o arquivo e depois o fechará. Caso precise apenas ler os dados, abra o arquivo em modo somente leitura.

Faço exatamente isso no modelo de cadastro. Talvez sirva de exemplo:

https://www.tomasvasquez.com.br/blog/mo ... oft-excel/

Boa sorte


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Preencher planilha excel a partir de formulario do Word

Mensagem por Adonias »

Tomas, eu queria entender por que o código 1 abaixo funciona perfeitamente se colocado num form no excel para enviar dados para a própria planilha e se faço o código 2 num form word para enviar para uma planilha que sempre estará fechada, pois apenas eu vou usar, ele envia os dados, mas se tento fazer o loop para preenchimento sempre da linha seguinte dá erro.

Código 1

Código: Selecionar todos

Private Sub CommandButton1_Click()
Dim i As Integer
i = 1
Do While Not Linhavazia(i)
    i = i + 1
Loop

If Plan1.Cells(i, 1).Value = "" Then
    Plan1.Cells(i, 1).Value = TextBox1.Value
    Plan1.Cells(i, 2).Value = TextBox2.Value
End If
End Sub
Public Function Linhavazia(linha As Integer) As Boolean
    If Plan1.Cells(linha, 1).Value = "" Then
        Linhavazia = True
    Else
        Linhavazia = False
    End If
End Function

código 2

Código: Selecionar todos

Dim WApp As Object

Set WApp = CreateObject("Excel.Application")
WApp.Workbooks.Open "C:\Users\78559405453\Downloads\VBA\Receita\Base.xlsm" 'endereço
WApp.Visible = True
WApp.Sheets("Plan1").Select
 

        WApp.Cells(1, 1).Value = TextBox1.Value
        WApp.Cells(1, 2).Value = TextBox2.Value
End Sub


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Preencher planilha excel a partir de formulario do Word

Mensagem por webmaster »

Adonias,

O primeiro código funciona sem problemas porque ele está no contexto do Excel. Não há necessidade de manipular o arquivo já que você "está nele".

O segundo, ele abre a planilha, insere os dados e depois larga ela aberta. Neste ponto, volto ao comentáiro que fiz anteriormente sobre abrir e fechar o arquivo.


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Preencher planilha excel a partir de formulario do Word

Mensagem por Adonias »

Tomas, com certeza preciso salva e fechá-la após o preenchimento, mas como faria para o loop funcionar lançando sempre na ultima linha vazia?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder