Pessoal,
A minha necessidade, há alguns dias atrás, era de fazer com que o meu projeto, através de botão, abrisse uma determinada userform de uma determinada planilha salva em um caminho no c:
Com isso eu criei esse Tópigo: http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=14404 e, com a ajuda do nosso amigo Trindade, atendi a minha necessidade. O código que ele indicou foi esse:
Private Sub Image29_Click()
Unload Me
' Creditos para o Site : http://www.vbaexpress.com/kb/getarticle.php?kb_id=279
' Duvida postada aqui : http://exceler.org/forums/topic/executar-macro-em-outro-computador/
'Macro purpose: Use the application.run method to execute
'Finalidade Macro: Use o método Application.Run para executar
'a macro without arguments from another workbook
'uma macro sem argumentos de outra pasta de trabalho
Dim PathToFile As String, _
NameOfFile As String, _
wbTarget As Workbook, _
CloseIt As Boolean
'Set file name and location. You will need to update this info!
'Defina o nome do arquivo e local. Você precisará atualizar esta informação!
NameOfFile = "BD_MASTER.xlsm"
PathToFile = "L:Avaliacao_de_desempenhoBASE_DE_DADOS"
'Attempt to set the target workbook to a variable. If an error is
'Tentativa de definir a pasta de trabalho de destino a uma variável. Se um erro é
'generated, then the workbook is not open, so open it
'gerado, em seguida, o livro não está aberto, então abra-o
On Error Resume Next
Set wbTarget = Workbooks(NameOfFile)
If Err.Number <> 0 Then
'Open the workbook
'Abra a pasta de trabalho
Err.Clear
Set wbTarget = Workbooks.Open(PathToFile & "" & NameOfFile)
CloseIt = True
End If
'Check and make sure workbook was opened
'Verifique e certifique-se de livro foi aberto
If Err.Number = 1004 Then
MsgBox "Sorry, but the file you specified does not exist!" _
& vbNewLine & PathToFile & "" & NameOfFile
Exit Sub
End If
On Error GoTo 0
'Run the macro! (You will need to update "MacroName" to the
'Execute a macro! (Você vai precisar atualizar "macro" para a
'name of the macro you wish to run)
'nome da macro que você deseja executar)
On Error Resume Next
Application.Run (wbTarget.abrir)
If CloseIt = True Then
'If the target workbook was opened by the macro, close it
'Se o livro de destino foi aberto pelo macro, feche-
wbTarget.Close savechanges:=False
Application.Visible = False
Else
'If the target workbook was already open, reactivate this workbook
'Se a pasta de trabalho de destino já estava aberta, reativar este livro
ThisWorkbook.Activate
End If
End Sub
Ele funciona perfeitamente, mas eu quero que, ao clicar para abrir a userform da outra planilha, o projeto de origem, o qual possui o código acima, seja salvo e fechado. Como faria isso?
Postado : 03/03/2015 5:08 am