Страницы: 1
RSS
Как открыть/закрыть книгу которая находится в одной папке с открытой книгой
 
Всем привет подскажите пожалуйста как можно макросом открыть файл который находится в одной папке с активной книгой? Файлы каждый день заполняются и копируется папка, после папка переименовывается. Книги обнуляются и заполняются заново новый день, уже в другой папке. Поэтому прописанный заранее путь не вариант. Я это вижу так открывается активная книга берется с нее путь к папке и там вставляется имя exe файла который нужен...
Изменено: RenatKZ - 24.01.2020 22:06:15
 
Используйте в макросе диалог выбора файла
Код
Application.FileDialog(msoFileDialogFilePicker
 
Путь к активной книге: ActiveWorkbook.Path
Владимир
 
Kuzmich, sokol92, Пожалуйста можно пример в exe виде. Отметьте где мне нужно вставить имя exe который нужно открыть. Я попробую закинуть в папку с файлом и открыть???? :sceptic:  просто что дальше писать нужно в макросе чтобы все работало...

В активной книге имеется кнопка "поиск заявок" при нажатии на него должен сработать данный макрос. извините что без примера файл очень большой.
Изменено: RenatKZ - 24.01.2020 23:26:08
 
нет господа, тут советами не обойтись
тут нужно:
Код
Sub ОткрытьФайл()
...
End Sub
а в средине там написать все... строка за строкой, чтобы в результате где-то далеко-далеко а Казахстане у Рената открылся нужный ему сейчас файл.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, прикольно... я написал - Файлы каждый день заполняются и копируется папка, после папка переименовывается. Книги обнуляются и заполняются заново новый день, уже в другой папке. Я это вижу так открывается активная книга берется с нее путь к папке и там вставляется имя exe файла который нужен... потому что файл меняет свой путь, даже у другого пользователя который будет пользоваться у  него и имя компьютера другое и имя папок другие и диск куда он его закинет... нюансов много... поэтому я спросил есть ли возможность взять информацию с открытой книги активной где имеется кнопка "поиск заявок" и данный макрос, который и будет искать путь к папке, нужно дописать в путь называние файла который нужен и все, ведь на любом компьютере где бы не открывался основной файл, будет видеть путь к папке... а там уже и файл рядом.

Но если это так просто не работает и нужно обязательно указывать путь от а до я к папке который нужно будет каждый раз заходить и менять тогда мне придется объединить эти книги в одну... но из за файла огромного когда он открыт основной exe так тяжело работает...
Изменено: RenatKZ - 24.01.2020 23:25:46
 
так вам уже ответили и даже посоветовали чем воспользоваться
пользуйтесь, это прямые подсказки
Изменено: Ігор Гончаренко - 24.01.2020 23:17:52
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко,
Цитата
Ігор Гончаренко написал: чем воспользоваться
Я не знаю
Код
Application.FileDialog(msoFileDialogFilePicker

или
Код
ActiveWorkbook.Path

а куда названия файла вставить?

Код
Workbooks.Open Application.FileDialogmsoFileDialogFilePicker


Код
Sub Макрос4()

ChDir ThisWorkbook.Path
      Workbooks.Open "Проверка заявок.xls"
      Windows("1.xls").Activate
End Sub
 
допустим вы начальник большой строительной организации с соотв. опытом строительных работ
я прихожу к вам и спрашиваю
-- за сколько времени вы можете построить мне дачу?
вы отвечаете:
-- обычно за 6-8 месяцев делали
я говорю
-- отлично! стройте!
как вы думаете вы построите мне дачу, такую как я хотел? чтобы с террасой и колонами, чтобы в 3 этажа, чтобы с двумя гаражами, и чтобы бассейн был минимум 25 метров длиной?
построите?

вот так и вам НИКТО не напишет макрос если не обьяснено что он должен делать, точно не обьяснено, так, чтобы по этим обьяснениям можно было сесть и начинать писать этом макрос
пока все на столько не понятно что не стоит и пытаться.
а пока вам могут продолжать помогать советами, а вы будете продолжать их сгребать в мусорное ведро, потому что не знаете что с ними можно сделатиь еще.
нет задачи - нет решения, это аксиома.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Все работает, спасибо!
Код
Sub Макрос4()  

ChDir ActiveWorkbook.Path 
Workbooks.Open "Проверка заявок.xlsm"  

End Sub
Изменено: RenatKZ - 24.01.2020 23:46:49
 
Привяжите макрос к своей кнопке
Код
Sub Zajavka()
Dim FD As FileDialog
Dim iFileName As String
    Set FD = Application.FileDialog(msoFileDialogFilePicker)
    With FD
        .Filters.Clear  'удаляет предопределенные фильтры
        .Filters.Add "Microsoft Excel files", "*.xls*"
        .Filters.Add "All files", "*.*"
        .AllowMultiSelect = False
        .InitialFileName = ThisWorkbook.Path
        .Title = "Выберите нужный файл заявки"
        .ButtonName = "Открыть"
        If .Show = False Then
            MsgBox "Вы не указали нужный файл!", 48, "Ошибка"
            Exit Sub
        Else
            iFileName = .SelectedItems(1)
        End If
    End With
    Set FD = Nothing
       'открываем выбранную книгу в режиме только чтение
      Workbooks.Open Filename:=iFileName, UpdateLinks:=False, ReadOnly:=True
      'открываемая книга становится активной
End Sub
 
Kuzmich, Вы гений! спасибо! четко красиво)))
А можно вопрос при переименовании папки, или переслать на другой компьютер, будет все работать без ошибок? Получается у данного макроса условие только одно чтобы файл который требуется открыть находился в одной папке с инструментом?

Причем Вы сейчас освободили самым макросом кучу места на компьютере ведь я постоянно дублировал огромный файл а у Вас получается вообще открывается windows окно выбора файла))))
Изменено: RenatKZ - 25.01.2020 00:09:41
 
Цитата
чтобы файл который требуется открыть находился в одной папке с инструментом?
Начальный путь указывается в
Код
.InitialFileName = ThisWorkbook.Path

Но вы в диалоговом окне можете выбрать любую папку и нужный файл, как в проводнике
 
Kuzmich, Понял! Вы молодец))) вам Лайк реально!
Страницы: 1
Наверх