Incluir espaço no nome do arquivo


1

Preciso salvar um arquivo com alguns espaços aleatórios no nome.

Está no Excel Vba. Tudo o que encontrei após uma hora de pesquisa na rede são sugestões para substituir o espaço por% 20 ou evitar espaços no nome do arquivo. Tentei brincar de adicionar aspas ou colocar% 20 sem sorte.

O arquivo produzido é para exportar para um sistema legado, alterar os nomes ou substituir o espaço por outro caractere não é uma opção .

Além disso, os espaços não estão necessariamente no mesmo local e eu gostaria de evitar colocar uma declaração Case para 20 nomes diferentes.

Aqui está o código que me causa problemas.

Savepath=range("a1").value
NameOfFile=range("a2").value 
FullnameSave=savepath & "\"& NameOfFile & ".xlsm" 

ActiveWorkbook.SaveAs Filename:=FullNameSave, FileFormat:=xlOpenXMLWorkbookMacroEnabled

Tudo funciona bem, exceto quando há um espaço em algum lugar no FileName.

Por exemplo, se o valor em A2 for StandardPrice, o arquivo será salvo corretamente, se for o preço padrão , recebo um erro (erro 1004 no método SaveAs). Além disso, se eu codificar o nome da seguinte forma, ele funcionará.

FullnameSave=savepath & "\" & "standard price" & ".xlsm" 

Tentei adicionar 2,3,4 e até 5 aspas ao nome do arquivo, mas ele nunca retorna o formato correto (que seria algo como H: \ Pip_Import \ ImportTests2016-10 \ "standard price"


"exceto quando existe um espaço em algum lugar no FileName" - você recebe alguma mensagem de erro? O que? O que exatamente você tentou?
Máté Juhász

Respostas:


1

Se você estiver salvando em alguma pasta local, não deverá haver problemas. Eu peguei seu código:

Sub SaveMePlease()
    savepath = Range("a1").Value
    Filename = Range("a2").Value
    FullNameSave = savepath & "\" & Filename & ".xlsm"
    ActiveWorkbook.SaveAs Filename:=FullNameSave, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

com isso na planilha:

insira a descrição da imagem aqui

Observe o espaço no nome do arquivo. Seu código foi executado sem erros e produziu:

insira a descrição da imagem aqui

Não tentei salvar em um local de rede.


0

No final, não tinha nada a ver com os espaços no nome do arquivo. Reescrever o código para se ajustar ao formato de SU e ver que ele funcionava no computador de outra pessoa me fez voltar ao código original com um olhar diferente.

Havia um único espaço após a barra invertida "\" na

FullnameSave=savepath & "\ " & NameOfFile & ".xlsm" 

O que me impressionou é que esse erro de digitação é ignorado / corrigido automaticamente se o nome do arquivo não contiver nenhum espaço em branco, mas gerar um erro se houver um.

Portanto, a solução foi simplesmente reescrever a parte problemática do código do zero e procurar erros de digitação.

Não tenho certeza se esse tipo de solução se encaixa na SU, mas funcionou para esse problema específico ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.