Страницы: Пред. 1 2
RSS
Как указать путь к текущей папке, если адрес текущей папки может меняться?, при сохранении шаблона с поддержкой макросов через диалоговое окно "Сохранить как"
 
Цитата
KonstantinK написал:
оболочка понимает где лежит мой шаблон
потому что Вы же на него дважды жмете для создания файла на его основании, нет?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
KonstantinK написал:
Так вот оболочка понимает где лежит мой шаблон/архив.
Оболочка то знает, но ей сказано сразу после прочтения сжечь, о чем я пиал выше.
По вопросам из тем форума, личку не читаю.
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
потому что Вы же на него дважды жмете для создания файла на его основании, нет?
Ну да кликаю. А какая разница на какой файл я нажимаю .xlsm или .xltm. Мне кажется оболочке все равно. Отношения к файлам у неё разное, по разному она их сохраняет. По моему к пути где лежит архив это отношение не имеет. Или ...
Кто хочет — ищет способы, кто не хочет — причины (Сократ)
 
А зачем .xltm? Если видно что проблема, формат не проще поменять?  
 
Цитата
KonstantinK написал:
А какая разница на какой файл я нажимаю .xlsm или .xltm. Мне кажется оболочке все равно
Оболочке нет. Потому что если Вы жмете xlst, то Excel не открывает его, а создает новый файл на основании именно этого шаблона. Т.е. как бы сам-то шаблон и не открывается(если по простому сказать). И путь к нему тоже не сохраняется.
БМВ примерно так и написал - Excel создает на основании шаблона файл и забывает, что шаблон вообще открывался. Вот и все.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
KonstantinK написал:
Мне кажется оболочке все равно.
А вот Excel не кажется, и шаблоны по даблклику открываются не методом Open, а методом Add.
 
Ок. Хорошо. Тогда определим директорию. Пусть это будет рабочий стол.
Тогда как советовал Дмитрий
Код
Application.Dialogs(xlDialogSaveAs).Show Environ("userprofile") & "\Desktop"
но мне нужно предустановленные расширение и имя файла. От этого я отказываться не хочу.
А так, начинается всё с начала
Код
Application.Dialogs(xlDialogSaveAs).Show FileName, xlfFileFormat, Environ("userprofile") & "\Desktop"
vba не видит Environ("userprofile") & "\Desktop" - игнорирует, предлагает опять папку "Документы".
Вся строка понятна, но Environ("userprofile") увидел только сегодня, возможно проблема в не правильном применении мной аргументов?
Кто хочет — ищет способы, кто не хочет — причины (Сократ)
 
Цитата
KonstantinK написал:
игнорирует,
Точно так же как и вы игнорируете советы Дмитрия ;)
Код
Application.Dialogs(xlDialogSaveAs).Show Environ("userprofile") & "\Desktop" & "\myfile.xlsm", xlOpenXMLWorkbookMacroEnabled
 
Опять что-то не так
Цитата
Андрей VG написал:
Application.Dialogs(xlDialogSaveAs).Show Environ("userprofile") & "\Desktop" & "\myfile.xlsm", xlOpenXMLWorkbookMacroEnabled
эта конструкция Ок, но если немного изменить
Код
Dim FileName As String
Dim CellValue As String
Dim iPath As String
iPath = "\Desktop\123"
CellValue = ActiveWorkbook.Worksheets("Данные").Cells(3, 3)
FileName = "Безнал_Счёт " & CellValue
Application.Dialogs(xlDialogSaveAs).Show Environ("userprofile") & iPath & FileName, xlOpenXMLWorkbookMacroEnabled
то сохраняет файл на  Desktop и  почему то имя папки перебрасывает в имя файла -"123Безнал_Счёт "
Кто хочет — ищет способы, кто не хочет — причины (Сократ)
 
Цитата
KonstantinK написал:
если немного изменить
Если немного быть внимательнее... А я специально код так записал, чтобы было понятно
Цитата
Environ("userprofile") & "\Desktop" & "\myfile.xlsm"
В вашем же случае путь получается из iPath = "\Desktop\123" и части имени FileName = "Безнал_Счёт "
"\Desktop\123Безнал_Счёт ". А где собственно разделитель \ между именем папки и именем файла?
 
Если последовательно нажать буквы А и Д, слово ДА не получится.
 
Всё Ок.
Всем большое спасибо.
Кто хочет — ищет способы, кто не хочет — причины (Сократ)
 
может пригодится кому

A = Range("B1").Value
   B = Range("B2").Value
   Ñ = A & "_" & B & ".xls"
           
        iPath = ThisWorkbook.Path
        iPath = iPath & "\" & Ñ
       
      ActiveWorkbook.SaveAs FileName:=iPath _
       , FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
       ReadOnlyRecommended:=False, CreateBackup:=False
Страницы: Пред. 1 2
Наверх