none
Abrir, executar, salvar e fechar arquivo aberto RRS feed

  • Pergunta

  • boa tarde.

    sou novato e estou tendo dificuldades.

    quero que meu programa abra, execute , salve e feche o arquivo em ecxel.

    tenho o codigo abaixo e não consigo fechar SOMENTE O ARQUIVO QUE O MEU PGM ABRIU.

    Sub editar()


    Set xl = CreateObject("Excel.Sheet")

    ArqParaAbrir = Application.GetOpenFilename("Planilhas do Excel (*.xlsx), *.xlsx")

    If ArqParaAbrir <> False Then

        MsgBox "A seguinte planilha será carregada: " & ArqParaAbrir

        xl.Application.Workbooks.Open ArqParaAbrir

    MsgBox "Fim do PGM"

    End If

    End Sub

    desde ja agradeço

    quinta-feira, 21 de maio de 2015 17:09

Respostas

  • Sub editar()
        Dim wb As Workbook
        Dim ws As Worksheet
        Dim ArqParaAbrir As String
        
        ArqParaAbrir = Application.GetOpenFilename("Planilhas do Excel (*.xlsx), *.xlsx")
        If ArqParaAbrir <> False Then
            MsgBox "A seguinte planilha será carregada: " & ArqParaAbrir
            Set wb = Workbooks.Open(ArqParaAbrir)
            Set ws = wb.Worksheets(1)
            MsgBox ws.Range("a1")
            MsgBox "Fim do PGM"
            
            wb.Close SaveChanges:=False
            Set wb = Nothing
        End If
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 22 de maio de 2015 00:24
    Moderador

Todas as Respostas

  • Olá Leandro,

    Estou assumindo que PGM é a sua macro (por favor, não utilize acrônimos como esse).

    Tenho apenas uma pergunta: você roda esse código a partir do Excel também ou de outro aplicativo Office?



    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quinta-feira, 21 de maio de 2015 20:06
    Moderador
  • ta certo, peço desculpas pois uso para definir meus programas...

    sim, eu só utilizo ele em excel mesmo. 

    quinta-feira, 21 de maio de 2015 23:05
  • Sub editar()
        Dim wb As Workbook
        Dim ws As Worksheet
        Dim ArqParaAbrir As String
        
        ArqParaAbrir = Application.GetOpenFilename("Planilhas do Excel (*.xlsx), *.xlsx")
        If ArqParaAbrir <> False Then
            MsgBox "A seguinte planilha será carregada: " & ArqParaAbrir
            Set wb = Workbooks.Open(ArqParaAbrir)
            Set ws = wb.Worksheets(1)
            MsgBox ws.Range("a1")
            MsgBox "Fim do PGM"
            
            wb.Close SaveChanges:=False
            Set wb = Nothing
        End If
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 22 de maio de 2015 00:24
    Moderador
  • vlw cara! muito obrigado pela ajuda. Mas eu tive que tirar o "if", estava dando "tipo incompatíveis". mas ta perfeito muito obrigado pela ajuda!
    sexta-feira, 22 de maio de 2015 12:24