none
Criar uma nova instância para novos arquivos abertos após um Workbook especifico ter sido aberto RRS feed

  • Pergunta

  • Oi Pessoal. Mais uma ajuda.

    Não sei se é possível, mas vamos lá!

    Desenvolvi uma ferramenta que trabalha toda em formulário. E com isso deixa oculta a instância do Excel dela.
    Quando essa ferramenta abre, ela abre em uma instância a parte. Mas se qualquer arquivo é aberto posteriormente a ele, é aberto na instância dessa ferramenta, e consequentemente esse novo workbook não é visualizado.

    Existe alguma forma de eu programar para que se um novo Workbook abrir após essa ferramenta esteja aberta, esse Workbook abrir em uma nova instância?

    Uma ideia é se, eu quiser selecionar o Workbook pela ordem que ele foi aberto, eu apenas utilizo Workbook(1). Existiria algo parecido com Application (ou estou viajando na maionese)?

    quarta-feira, 15 de abril de 2015 18:57

Respostas

  • Pessoal, achei um jeito de resolver meu problema.

    Caso vocês achem que pode dar algum problema ou que existe algum meio melhor, me avisem.

    Como a ferramenta abre em uma nova Instância, eu fiz o seguinte. Após ela abrir eu uso a função abaixo:

    Private Sub Workbook_Open()
     Application.DisplayAlerts=False
     Application.ShowWindowsInTaskbar = False
     Application.IgnoreRemoteRequests = True
    End Sub

    E quando for encerrar utilizo o de baixo (O encerramento da planilha fica no próprio Userform):

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    
    Dim Resultado As VbMsgBoxResult
        Resultado = MsgBox("Deseja realmente sair?", vbQuestion + vbYesNo, TitleWork)
    
        If Resultado = vbNo Then Cancel = True: Exit Sub
        Application.DisplayAlerts = False
        Application.ShowWindowsInTaskbar = True
        Application.IgnoreRemoteRequests = False
        Application.Quit
        
    End Sub

    Com isso conseguir resolver meu problema!

    :D

    quarta-feira, 15 de abril de 2015 19:44

Todas as Respostas

  • Pessoal, achei um jeito de resolver meu problema.

    Caso vocês achem que pode dar algum problema ou que existe algum meio melhor, me avisem.

    Como a ferramenta abre em uma nova Instância, eu fiz o seguinte. Após ela abrir eu uso a função abaixo:

    Private Sub Workbook_Open()
     Application.DisplayAlerts=False
     Application.ShowWindowsInTaskbar = False
     Application.IgnoreRemoteRequests = True
    End Sub

    E quando for encerrar utilizo o de baixo (O encerramento da planilha fica no próprio Userform):

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    
    Dim Resultado As VbMsgBoxResult
        Resultado = MsgBox("Deseja realmente sair?", vbQuestion + vbYesNo, TitleWork)
    
        If Resultado = vbNo Then Cancel = True: Exit Sub
        Application.DisplayAlerts = False
        Application.ShowWindowsInTaskbar = True
        Application.IgnoreRemoteRequests = False
        Application.Quit
        
    End Sub

    Com isso conseguir resolver meu problema!

    :D

    quarta-feira, 15 de abril de 2015 19:44
  • Legal, não sabia dessa. O que eu fazia, normalmente, era abrir a ferramenta por uma nova instância no Excel usando Windows+R.

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

    sexta-feira, 17 de abril de 2015 17:49
    Moderador
  • Legal, não sabia dessa. O que eu fazia, normalmente, era abrir a ferramenta por uma nova instância no Excel usando Windows+R.

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

    Eu também. Mas como a ferramenta que desenvolvi era para dezenas de pessoas usarem, sempre existe aquela necessidade de abrir alguma planilha para tirar alguma duvida sobre os dados. ai conseguir fazer desse jeito.
    sexta-feira, 17 de abril de 2015 18:15
  • Pessoal, achei um jeito de resolver meu problema.

    Caso vocês achem que pode dar algum problema ou que existe algum meio melhor, me avisem.

    Como a ferramenta abre em uma nova Instância, eu fiz o seguinte. Após ela abrir eu uso a função abaixo:

    Private Sub Workbook_Open()
     Application.DisplayAlerts=False
     Application.ShowWindowsInTaskbar = False
     Application.IgnoreRemoteRequests = True
    End Sub

    E quando for encerrar utilizo o de baixo (O encerramento da planilha fica no próprio Userform):

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    
    Dim Resultado As VbMsgBoxResult
        Resultado = MsgBox("Deseja realmente sair?", vbQuestion + vbYesNo, TitleWork)
    
        If Resultado = vbNo Then Cancel = True: Exit Sub
        Application.DisplayAlerts = False
        Application.ShowWindowsInTaskbar = True
        Application.IgnoreRemoteRequests = False
        Application.Quit
        
    End Sub

    Com isso conseguir resolver meu problema!

    :D

     Sei que já faz algum tempo...mas como você faz para abrir a sua ferramenta sempre numa instância nova ?
    terça-feira, 21 de novembro de 2017 19:06