Страницы: 1
RSS
"Сохранить файл как" с использованием пути текущей папки и названием из ячейки
 
Добрый день! Помогите решить вопрос, уважаемые знатоки! Я хочу:
-создать папку в папке с корневым файлом с названием папки из ячейки, это я пытаюсь сделать следующим образом:
Код
 Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateFolder(ThisWorkbook.Path & Range("I14"))

-открытый файл сохранить с именем, взятым из ячейки в созданную папку . Это я, тщетно, делаю так (в самой ячейке уже установлен формат):
Код
    ActiveWorkbook.SaveAs (ActiveWorkbook.Path & Range("I14") & Range("e14").Value
 
Код
Dim  sFldr As String

sFldr = ThisWorkbook.Path &  "\" & Range("I14").Value ' путь к папке для сохранения
If Dir(sFldr, vbDirectory) = "" Then MkDir sFldr ' создаем, если нет

ThisWorkbook.SaveAs Filename:= sFldr & Range("e14").Value, FileFormat:=xlOpenXMLWorkbook)
 
Андрей Вайцеховский, возможно надо вставить "\" между  ThisWorkbook.Path и Range("I14"), чтобы получилось  
Set a = fs.CreateFolder(ThisWorkbook.Path &  "\"  & Range("I14"))

P.S. но я не тестировал
Изменено: New - 16.10.2020 11:19:25
 
Цитата
vikttur написал:
If Dir(sFldr, vbDirectory) = "" Then MkDir sFldr ' создаем, если нет
Выдает ошибку Expected Sub, Function, or Property
и подчеркивает mkdir  
 
Правила форума, п.2.3
 
Прошу прощения  :D  
 
Открыл, глянул в редактор VBA... Ну, кому надо столько кода? Кому интересно искать в нем то, что Вам нужно? Вы даже не удосужились написать, где именно смотреть.
Пример - это демонстрация проблемы без всякого лишнего мусора

Станьте на MkDir, нажмите F1. Справка подскажет ошибку. Не стесняйтесь пользоваться этой волшебной клавишей.
 
у меня вот так вроде, работает.
Код
   strPath = "C:\Temp\Prices\"
    If Dir(strPath, vbDirectory) = "" Then MkDir strPath
или так
Код
            If Dir("C:\Work\", vbDirectory) = "" Then
                MkDir "C:\Work\"
            End If
Изменено: New - 16.10.2020 12:08:27
 
Да у автора оператор MkDir объявлен, как строковая переменная )
 
[USER=812]New[/USER, все так, но интерес именно с непостоянным адресом ( который выбирается из ячейки)

Цитата
vikttur написал: Да у автора оператор MkDir объявлен, как строковая переменная )
:cry:  Мои знание в VBA это Франкенштейн который ходит, но как - не понятно  
 
Андрей Вайцеховский, удалите эту строку из двух ваших макросов:

Код
Dim mkdir As String

MkDir - служебная инструкция, а не ваша выдуманная переменная. Её нельзя так объявлять.
Изменено: New - 16.10.2020 14:46:56
Страницы: 1
Наверх