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"

PO
fonte
"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.

Aluno de Gary
fonte
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 ...

PO
fonte