Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.01.2009, 13:26   #21
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
прога поста #2, в ней каждый новый месяц меняем путь FPath = "D:\Temp\Заявки\Январь\"
Здесь речь идет об открытии файла. А при сохранении все файлы закрыты, кроме рабочего (см. пост №19).

Повторяю возможные варианты решения Вашей задачи:
1. Поместить макрос в рабочий файл (в каждый)
2. Создать надстройку (у всех пользователей)

Есть еще вариант: создать событие уровня приложения, но тогда файл, с помощью которого мы открывали рабочий файл (и в котором будет храниться код макроса), должен оставаться открытым, что тоже не удобно.

Подумайте, что Вы хотите. Если согласны с одним из предложенных вариантов - сделаю. Если не устраивает - то у меня других мыслей нет. Может есть у кого-нибудь другого.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 15.01.2009, 13:28   #22
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Повторяю возможные варианты решения Вашей задачи:
1. Поместить макрос в рабочий файл (в каждый)
Этот!!!!!!!!!!!!!!!!!!!!
valerij вне форума
Старый 15.01.2009, 14:57   #23
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Поместите папку "2009" в любую директорию. В папке "2009\Заявки\Январь" есть файл "На 01.01.09". Откройте его и в коде макроса пропишите нужный путь (в коде есть комментарий).
Теперь, при сохранении файла, будет предложено ввести имя, после чего, файл сохранится по нужному пути (в зависимости от введенного имени).
Не верные имена просто не допускаются. Если нужно делать что-то другое при неверном вводе имени - скажите что.
Вложения
Тип файла: rar 2009.rar (8.0 Кб, 11 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 15.01.2009, 15:03   #24
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Посмотрите вложение.
Скачал, сообщу завтра?
Тебя уже не будет на форуме?
valerij вне форума
Старый 15.01.2009, 15:10   #25
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Сегодня - нет.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 16.01.2009, 01:47   #26
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Сегодня - нет.
Сергей, все в аттаче, разложил по полочкам!!!!!
Вложения
Тип файла: rar Для S.rar (62.0 Кб, 10 просмотров)
valerij вне форума
Старый 16.01.2009, 10:38   #27
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Давайте внесем ясность.

1. Поместите папку "2009" в Вашу директорию.

2. Перед началом работы нужно в файлах "OpenData_3" (который может находиться где угодно) и в файле "На 01.01.09", которая находится в "2009\Заявки\Январь" прописать путь к основной папке, например: "[Ваша_директория]\2009\Заявки" (в кодах макросов обоих файлов есть комментарии). Это нужно сделать всего один раз (не проводить же поиск по всему компьютеру ???!!!)

3. Теперь все готово. Запустите файл "OpenData_3" (можно его переименовать, создать ярлык и т.д.). Он отыщет в папке "Заявки" папку с максимальным месяцем и из нее откроет файл с максимальной датой. После чего сам закроется.

4. При попытке сохранения файла будет выведен запрос на сохранение файла с именем на 1 день больше, чем в ячейке "C3" первого листа рабочего файла (переход через месяц осуществляется корректно). Если согласиться, файл будет сохранен. Если нет - будет выведен запрос на ввод имени для сохранения (формат имени соблюдать обязательно). И в первом и во втором случае, путь (папка месяца) будет добавлен автоматически.

5. Как Вы, наверное, заметили, в папке "Заявки" только одна папка. Я ввел в код макроса проверку существования пути. И если нужной папки не существует - она будет создана.
Вложения
Тип файла: rar 2009.rar (29.5 Кб, 13 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 16.01.2009, 22:19   #28
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
4. запрос на сохранение файла с именем на 1 день больше, чем в ячейке "C3" первого листа рабочего файла.
Так, ни в коем случае, делать нельзя, то я тебе просто пояснял, что сегодня, я даю заявку на завтра(еще и подумал, что напрасно вставил эти строки), но это мелочи, я удалил +1, везде в коде и все ОК.

Тут такая проблема:
1. Открываем файл "На 01.01.09", в С3 ставим 2 января, а при закрытии файла, если я нажму на крест, спрашивает(стандартный вопрос) сохранить изменение в файле "На 01.01.09", Да, выскакивает форма с тем же вопросом, но уже файл "На 02.01.09", то что надо, ДА и Excel зависает. скрин п1.jpg

2. Все то же самое как и п. 1, только жму иконку Сохранить, форма выдает запрос, Да, теперь Excel не зависает, а закрывает файл, но оставляет Excel -ский интерфейс без листов! скрин п2.jpg

Заменил в коде ThisWorkbook.Close на AlleWorkbook.Close и все стало на место, все четко работает(но это если давлю на крест).
А если жму иконку Сохранить, форма выдает запрос, Да, но Excel не закрывается, ПОЧЕМУ, надо еще жать на крест.

3. Сереж, так надо, что в коде, Application.EnableEvents = True повторяется дважды, а Application.EnableEvents = False один раз?

Заменил так все стало ОК!!!!!
Код:
Было
ThisWorkbook.Close
End Sub
Стало
Application.Quit
End Sub
Удаляем .rar
Вложения
Тип файла: rar п1.jpg.rar (342.8 Кб, 141 просмотров)
Тип файла: rar п2.jpg.rar (108.2 Кб, 146 просмотров)

Последний раз редактировалось valerij; 17.01.2009 в 16:40.
valerij вне форума
Старый 19.01.2009, 05:53   #29
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Было
ThisWorkbook.Close
End Sub
Стало
Application.Quit
End Sub
А какое я имею право закрывать Excel (да и Вы тоже)? А вдруг у пользователя в данный момент открыта "куча" других xls-файлов.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 19.01.2009, 09:55   #30
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
А вдруг у пользователя в данный момент открыта "куча" других xls-файлов.
Сергей, у моего пользователя, дай бог, что бы один xls-файл открылся!

А 3, пункт?

Сергей, как всегда, все супер и огромное СПАСИБО!!
valerij вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматический запуск макроса Len@ Microsoft Office Excel 6 23.07.2008 12:05
Автоматический скролинг в редакторе кода Altera Общие вопросы Delphi 0 05.06.2008 16:23
автоматический перевод с английского Alar Общие вопросы Delphi 5 04.04.2008 18:23
Автоматический вызов функции класса Flaton Общие вопросы C/C++ 4 19.10.2007 17:56
Ярлык программы Washington Общие вопросы Delphi 10 07.04.2007 06:27