Страницы: 1
RSS
Сохранение новой книги.
 
Добрый день .
Подскажите пожалуйста .

Я выделяю область .
Включаю макрос ( Ниже действия макроса )

1) Он копирует выделенную область ( в КНИГЕ 1 )
2) Создает новую книгу xls
3) Вставляет скопированные значения
4) И сохраняет ее в формате txt

НО! Проблема в том , что он сохраняет в папке " мои документы" , а надо , что бы он сохранял там ,где лежит КНИГА 1
 
может это поможет, там вроде в макросах есть путь
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=68142&TITLE_SEO=68142-avtomat...
 
Получить путь к КНИГЕ 1 можно так
Workbook("Книга1").Path
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
Получить путь к КНИГЕ 1 можно так
Книга 1 всегда меняет название (  
 
Код
ThisWorkbook.Path
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
1| ThisWorkbook.Path
лучше
Код
ActiveWorkbook.Path
потому как не понятно в какой книге хранится выполняемый код
Изменено: LVL - 12.04.2016 10:53:15
 
LVL, после того как
Цитата
Alex.Mari написал:
2) Создает новую книгу xls
Активной становиться именно она, и будет возвращен путь именно к ней, вновь созданной
Так что лучше
Код
ThisWorkbook.Path
Согласие есть продукт при полном непротивлении сторон
 
А что мешает перехватить Path перед созданием новой книги? И вопрос о месте хранения кода остается открытым, если он хранится в третьей книге, как вам поможет ThisWorkbook?
 
Цитата
LVL написал: А что мешает...
Мне, ничего. Нам то с Вами о чем спорить?
Пусть Автор свое слово скажет.
Согласие есть продукт при полном непротивлении сторон
 
Код хранится в отдельной книги и вынесен на панель быстрого доступа .



Макрос собирал из разных сообщений по форуму , он может быть кривой кривой )))

Могли бы вы дополнить его что бы выполнилось условие из 1-ого сообщения.
Код
Sub q1()


Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Selection.Copy
On Error Resume Next: Err.Clear
If Val(Application.Version) < 12 Then Exit Sub
oldName$ = ActiveWorkbook.FullName
newName$ = [A2]
ActiveWorkbook.SaveAs newName$, xlText 

End Sub
 
Код
Sub q1()
strPath$ = Selection.Parent.Parent.Path
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
On Error Resume Next: Err.Clear
If Val(Application.Version) < 12 Then Exit Sub
ActiveWorkbook.SaveAs strPath$ & "\" & [A2], xlText
End Sub
Изменено: LVL - 12.04.2016 11:22:39
 
Спасибо !
Страницы: 1
Наверх