MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor)

    teboman
    teboman
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 03/08/2016

    [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor) Empty [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor)

    Mensagem  teboman 6/11/2017, 18:37

    Boa tarde colegas, eu gostaria de fazer uma coisa que não sei se da, tenho um formulário para gerar documentos no word importando dados dos clientes e coloco os códigos direto nos botões, oque eu gostaria de fazer é criar módulos ou classe para cada botão (Não sei se entendi direito mas creio que o melhor seja classe por poder ser usado por qualquer parte do programa ignorância minha ignorância se eu estiver errado) para que o código seja carregado somente quando for solicitado e não sempre que o formulário for aberto.
    Meu codigo é assim.

    Dim objWord As Word.Application
    Option Compare Database

    Public Sub clsRecibo()
    On Error GoTo MergeButton_Err

    Set objWord = CreateObject("Word.Application")
    Dim V As String

    'Aqui e construido a InputBox
    V = InputBox("Qual valor do Recibo:", " Busca", "")

    With objWord
           'Deixa o aplicativo visivel.
                 .Visible = True
                  AppActivate "Word"           'Traz o Word para o primeiro plano

    'Abre o documento modelo com os indicadores para os campos desejados e deixa o documento como somente leitura.
    .Documents.Open FileName:="\\Servidor\GestProc\DIVERSOS\RECIBO.docx", ReadOnly:=True
    .ActiveWindow.WindowState = wdWindowStateMaximize    'Maximiza o documento.
    objWord.Documents("RECIBO.docx").Activate

    'Indica qual campo e qual indicador substituir na procuração.
    .ActiveDocument.Bookmarks("rpasta1").Select
    .Selection.Text = (CStr(Me.Pasta))
    .ActiveDocument.Bookmarks("rvalor1").Select
    .Selection.Text = (CStr(V))
    .ActiveDocument.Bookmarks("rcliente1").Select
    .Selection.Text = (CStr(Forms!FormGeraDocumentos!Cliente))
    .ActiveDocument.Bookmarks("rpasta2").Select
    .Selection.Text = (CStr(Forms!FormGeraDocumentos!Pasta))
    .ActiveDocument.Bookmarks("rvalor2").Select
    .Selection.Text = (CStr(V))
    .ActiveDocument.Bookmarks("rcliente2").Select
    .Selection.Text = (CStr(Forms!FormGeraDocumentos!Cliente))
       Exit Sub
       
    End With
       
    MergeButton_Err:
       'Se o campo estiver vazio, remove o texto indicador e continua
       If Err.Number = 94 Then
           objWord.Selection.Text = " "
           Resume Next
       Else
           MsgBox Err.Number & vbCr & Err.Description
       End If
       Set objWord = Nothing
    End Sub

    Ele direto no botão funciona mas quando coloco pro botão chamar a classe ou modulo (Não sei se estou fazendo correto) ele da erro de Sub ou Function não definida eu to chamando no botão da seguinte forma Call clsRecibo.

    Obrigado mestres agradeço desde já.


    Última edição por teboman em 9/11/2017, 22:39, editado 1 vez(es)
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor) Empty Re: [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor)

    Mensagem  CassioFabre 7/11/2017, 16:04

    Boa tarde,

    A hora ideal de usar um módulo é quando voce precisa que a função seja usada em qualquer parte do programa ou ela retorne uma valor que pode ser necessário a qualquer momento (o nome do usuário logado, por exemplo). No seu caso, não vai haver ganho de performance considerável nenhuma. Então, o melhor mesmo é deixar a função no clique do botão. A função só se executa quando ela é chamada, então não existe essa coisa de "está no botão, quando abre o form ela é carregada". Isso só aconteceria caso no evento Ao Abrir do formulário voce a chamasse. Então, deixe ela no clique do botão mesmo e seja feliz.

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    teboman
    teboman
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 03/08/2016

    [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor) Empty Re: [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor)

    Mensagem  teboman 8/11/2017, 13:25

    cheers cheers
    Entendi perfeitamente amigo, muito obrigado pelo esclarecimento, é que eu estou encucado com sistema "inchando" com o uso (ta certo que tem muitas pessoas usando simultaneamente mas quando era no access 97 não fazia isso com a mesma quantidade de usuários), to tentando fazer um programa em vb.net pra sanar isso, creio que vá ser a melhor solução.

    Muito obrigado pelo esclarecimento brother.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor) Empty Re: [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor)

    Mensagem  CassioFabre 9/11/2017, 14:48

    Boa tarde,

    Não se esqueça de marcar o tópico como resolvido.

    Abraço.


    .................................................................................
    Só não tem código pra morte!

    Conteúdo patrocinado


    [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor) Empty Re: [Resolvido]Usar um comando em uma classe ou modulo (Qual for melhor)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 9/12/2024, 05:05