MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Compartilhe

    bruno.henryque
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 11/01/2012

    [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  bruno.henryque em Ter 20 Out 2015, 02:02

    Olá Amigos,

    Estou usando o código abaixo para abrir o excel e executar uma macro, responsável por rodar o Solver.

    Private Sub Comando10_Click()
      Dim oApp As Object
      Set oApp = CreateObject("Excel.Application")
      oApp.Workbooks.Open ("C:\Concentrado Custo Mínimo\Vale Verde concentrado.xlsm")
      oApp.Visible = True
      'macro que atualiza os vínculos das planilhas do excel com o access
      oApp.Run "Plan2.Atualizar1"    
      'macro que roda o Solver
      oApp.Run "Plan1.Solver"        
      oApp.Quit
      Set oApp = Nothing
    End Sub

    No entanto, mesmo após rodar esse comando, quando eu vou no arquivo xlsm e o abro, os dados estão inalterados - a aplicação roda visível (oApp.Visible = True) e é possível perceber as alterações durante a execução do procedimento. O código que utilizo na Macro "Plan1.Solver" é o seguinte:

    Sub Solver()
       SolverReset
       SolverOk setcell:=Range("p9"), maxminval:=2, ValueOf:="0", bychange:=Range("n2:n8")
       SolverAdd CellRef:=Range("n2:n8"), Relation:=1, FormulaText:="$o$2:$o$8"
       SolverAdd CellRef:=Range("z2:ac2"), Relation:=3, FormulaText:="$v$2:$y$2"
       SolverAdd CellRef:=Range("n9"), Relation:=2, FormulaText:="100"
       SolverSolve UserFinish:=True
       SolverFinish KeepFinal:=1, ReportArray:=Array()
    End Sub

    Como faço para o excel fechar com as alterações realizadas pelo solver? Conseguem localizar onde falho nesse código??

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  JPaulo em Ter 20 Out 2015, 17:35

    O Save não funfa ?

    Código:
      oApp.Run "Plan2.Atualizar1"
      'macro que roda o Solver
      oApp.Run "Plan1.Solver"
      'oApp.Save
      'ou
      oApp.Save "C:\Concentrado Custo Mínimo\Vale Verde concentrado.xlsm"
      oApp.Quit
      Set oApp = Nothing


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    bruno.henryque
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 11/01/2012

    Re: [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  bruno.henryque em Ter 20 Out 2015, 20:16

    Olá JPaulo,

    Quando eu uso o oApp.Save aparece a mensagem:
          Um arquivo chamado “RESUME.XLS” já existe neste local. Deseja Substituí-lo?

    e quando uso o oApp.Save "C:\Concentrado Custo Mínimo\Vale Verde concentrado.xlsm" aparece a mensagem:
          Um arquivo chamado "C:\Concentrado Custo Mínimo\Vale Verde concentrado.xlsm" já existe neste local. Deseja Substituí-lo?

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  JPaulo em Ter 20 Out 2015, 20:52

    Se disser Sim, funciona?

    Se funfar você coloca antes do save

    oApp.DisplayAlerts = False


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    bruno.henryque
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 11/01/2012

    Re: [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  bruno.henryque em Ter 20 Out 2015, 20:54

    A código para com a mensagem: não é possível acessar "vale verde concentrado.xlsm"

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  JPaulo em Ter 20 Out 2015, 21:33

    oApp.SaveAs "C:\Concentrado Custo Mínimo\Vale Verde concentrado.xlsm" , 52


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    bruno.henryque
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 11/01/2012

    Re: [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  bruno.henryque em Ter 20 Out 2015, 21:55

    Paulo,

    "o objeto não aceita esta propriedade"

    bruno.henryque
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 11/01/2012

    Re: [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  bruno.henryque em Qua 21 Out 2015, 02:42

    Olá companheiros,

    Retirei os vínculos do arquivo do access com o excel e o as sugestões de JPaulo funcionaram perfeitamente. Então meu problema passa a ser outro.

    Mas qual o comando que uso para exportar os dados tabela ConcentradosFormuladosTemp no arquivo Vale Verde Concentrado.accdb para uma planilha do arquivo Vale Verde concentrado.xlsm. Na verdade, essa era a ideia inicial, no entanto, minhas limitações no VBA não permitiram. Por exemplo, tenho conseguido adicionar dados da tabela ConcentradosFormuladosTemp na plan2 com o código abaixo, mas, se eu também quiser adicionar dados da tabela BalançoNutricionalCusto na plan3, como implemento?

    Dim rs As New ADODB.Recordset
    Dim xl As Object ''Excel.Application
    Dim wb As Object ''Workbook Plan1
    Set xl = CreateObject("Excel.Application")

    ''2. Existing book
    Set wb = xl.Workbooks.Open("C:\Concentrado Custo Mínimo\Vale Verde concentrado1.xlsm")
    ''Connection relevant for 2007 or 2010
    rs.Open "ConcentradosFormuladosTemp", CurrentProject.AccessConnection
    wb.Sheets("Plan2").Cells(1, 1).CopyFromRecordset rs
    xl.Visible = True
    xl.DisplayAlerts = False
    xl.Save
    xl.Quit
    Set xl = Nothing

    Antecipadamente agradeço a presteza do JPaulo em contribuir com minhas dúvidas.

    bruno.henryque
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 11/01/2012

    Re: [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  bruno.henryque em Qua 21 Out 2015, 11:54

    Oi pessoal, resolvi implementado o procedimento de exportação em duas rotinas e ficou tudo certo!!

    Mais uma vez obrigado a JPaulo e ao Fórum!!

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Executo o solver do excel através de uma macro chamada via Vba do Access, mas o excel nao guarda as alterações

    Mensagem  JPaulo em Qua 21 Out 2015, 17:40

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

      Data/hora atual: Qui 08 Dez 2016, 23:56