Мне нужно сохранить файл с несколькими случайными пробелами в имени.
Это в Excel VBA. Все, что я обнаружил после одного часа поиска в сети, - это предложения заменить пробел на% 20 или избежать пробелов в имени файла. Я пытался играть с добавлением кавычек или ставкой% 20 без удачи.
Созданный файл предназначен для экспорта в унаследованную систему, поэтому изменение имен или замена пробела другим символом невозможна.
Кроме того, пробелы не обязательно должны быть в одном и том же месте, и я бы хотел не использовать оператор Case для 20 разных имен.
Вот фрагмент кода, который доставляет мне неприятности.
Savepath=range("a1").value
NameOfFile=range("a2").value
FullnameSave=savepath & "\"& NameOfFile & ".xlsm"
ActiveWorkbook.SaveAs Filename:=FullNameSave, FileFormat:=xlOpenXMLWorkbookMacroEnabled
Все отлично работает, за исключением случаев, когда где-то в FileName есть место.
Например, если значение в A2 равно StandardPrice, файл сохраняется нормально, если это стандартная цена, я получаю ошибку (ошибка 1004 в методе SaveAs). Кроме того, если я жестко запишу имя следующим образом, это сработает.
FullnameSave=savepath & "\" & "standard price" & ".xlsm"
Я попытался добавить 2,3,4 и 5 кавычек вокруг имени файла, но он никогда не возвращает правильный формат (который будет выглядеть примерно так : H:\Pip_Import\ImportTests2016-10\"стандартная цена")