6
respostas

Thisworkbook.path não funciona

Não entendi porque o instrutor sugeriu incluir a instruçãi "thisworkbook.path", quando tento rodar com ela pra mim dá erro que o local não pode ser acessado.

Quando faço uma alteração (código abaixo) para salvar o arquivo sem essa instrução funciona. Sabem me dizer o que acontece aqui? Obrigado.

Sub algoritmo()

    Range("a5").Select
    Range("a5:a1000").Copy

    Workbooks.Add
    Range("a1").PasteSpecial
    ' essa linha crasha: ActiveWorkbook.SaveAs Filename:=thisworkbook.path & “D:\EXERCICIO.xlsx"
    ActiveWorkbook.SaveAs Filename:="D:\EXERCICIO.xlsx"

    Workbooks("exerc_01").Activate
    Range("c5").Select
    Range("c5:c1000").Copy

    Workbooks("EXERCICIO.XLSX").Activate
    Range("b5").PasteSpecial
    Workbooks("EXERCICIO.XLSX").Close True

    MsgBox "Procedimento realizado com sucesso"

End Sub
6 respostas
Removido a pedido do usuario.

Obrigado, mas não funcionou também. Usando apenas (ActiveWorkbook.SaveAs Filename:="D:\EXERCICIO.xlsx") consegui salvar o arquivo, mas queria entender a lógica do exercício em utilizar a instrução "this.workbook", visto que o objetivo é apenas salvar o novo workbook que foi criado.

Removido a pedido do usuario.

Entendo, mas não funcionou da forma sugerida no exercício. Como disse, mesmo copiando o código do instrutor (logicamente alterando o caminho para refletir as minhas pastas) não deu certo, só consegui salvar o workbook auxiliar quando usei a expressão abaixo sem o "this.workbook.path":

ActiveWorkbook.SaveAs Filename:="D:\EXERCICIO.xlsx"

Outro ponto, o exemplo que você me deu por último não especifica um diretório onde o arquivo será salvo.

Resumindo a minha dúvida: porque concatenar a instrução "thisworkbook.path" com o destino que será salvo (ex: "D:\exercicio.xls") se o código funciona sem ele?

Removido a pedido do usuario.