Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменение даты в сводной таблице и запуск с периодичностью / 12 сообщений из 12, страница 1 из 1
29.01.2009, 20:59
    #35786625
OKTaH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
Подскажите, пожалуйста, такую вещь ... Нужно по win шедуле периодически запускать, обновлять и сохранять Excel (2007) файл, в котором содержится сводная таблица. Но обновление должно выполниться с новым значением даты (день, декада, месяц, год), которое в автоматическом режиме каким-то образом должно выбираться из выпадающего меню запросного элемента "Дата" сводной таблицы. Возможно ли такое? Заранее - спасибо!
...
Рейтинг: 0 / 0
30.01.2009, 06:38
    #35786939
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
Возможно. План действий может быть таким:
1. Планировщик заданий по заданному расписанию загружает книгу со сводной таблицей.
2. При загрузке книги автоматически запускается макрос, который:
2.1. Что-то делает с данными книги, если нужно.
2.2. В заданном поле сводной таблицы меняет активный флаг списка фильтра.
Для этого нужно сначала установить требуемый флаг фильтра, и лишь потом отключить все остальные.
2.3. Сохраняет книгу: Save или SaveAs
2.4. Закрывает Excel: Application.Quit

По п.2 макрос автозапуска может находиться как в книге со сводной таблицей, так и извне, например, в файле personal.xls(m) или в надстройке.
Для вариант "извне" макрос может автоматически запускаться, например, по определению заданного имени загруженной книги или еще по какому-либо признаку.
...
Рейтинг: 0 / 0
30.01.2009, 06:45
    #35786941
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
Или создать EXE, который запустится по п.1 и, используя Automation, выполнит все действия п.2
Это смотря что для Вас проще: VB или VBA
...
Рейтинг: 0 / 0
30.01.2009, 18:41
    #35788878
OKTaH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
ZVI,

Спасибо, но у меня проблемы с VB и VBA. А задание - разовое. Не поможете ли с кодом?
...
Рейтинг: 0 / 0
31.01.2009, 01:05
    #35789302
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
По п.1, в общем-то, все есть в справке, справитесь сами, или нужна инструкция?
Что лучше, VB, VBA или все равно?
Если VBA, то макрос встроить в сводную, или это нежелательно, или все равно?.
Чтобы не терять время на итерации приложите пример сводной с какими-нибудь данными, и покажите, что означает "обновление должно выполниться с новым значением даты (день, декада, месяц, год)".
...
Рейтинг: 0 / 0
03.02.2009, 18:11
    #35794737
OKTaH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
По первому пункту интересно, как запустить именно встроенный VBA код в Excel файле через планировщик, лучше, конечно, VBA. Можно все с макросом. Макрос у меня уже работает. По нему выполняется задание - меняется месяц в выпадающем меню и обновляются цифровые данные таблицы. Затем все должно сохраняться в этом же файле (с помощью VBA?). А возможно ли, чтобы файл отрабатывал и сохранялся в другом месте? Заранее - большое спасибо!
...
Рейтинг: 0 / 0
03.02.2009, 22:05
    #35795080
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
Не увидел Вашего файла со сводной таблицей, пришлось создавать свой пример и придумывать, что означает "обновление...". Ну да ладно, тогда уже Вам придется делать по аналогии с приложенным образцом, если, корнечно, я правильно догадался о смысле задачи.

При загрузке примера автоматически срабатывает макрос Workbook_Open в модуле ЭтаКнига. Этот макрос устанавливает номер текущего месяца в сводной таблице, сохраняет копию книги с добавлением к имени файла года_месяца_дня и спрашивает разрешения закрыть Excel, но мог бы и закрыть Excel, ничего не спрашивая.

Чтобы макрос запускался, безопасность макросов Excel должна быть низкой или средней, или книга должна быть расположена в доверенных папках.

Для автообновления проще всего скопировать ярлык СводнаяТабл.xls в Пуск - Программы-Автозагрузка. Или повозиться с планировщиком задания: Пуск – Настройка – Панель управления – Назначенные задания – Добавить задание - Далее – Обзор и т.д. (подробности - в справке)
...
Рейтинг: 0 / 0
13.02.2009, 18:33
    #35816971
OKTaH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
Спасибо Вам большое! Все работает, правда, вручную... А прислать сводную таблицу не мог - в нее выгружается аналитический куб. Без него она не активна. Если вручную запускаю программу - все прекрасно обновляется и сохраняется. И все-таки, как запустить из Win Scheduler файл Excel еще и со встроенным в нем VBA - не знаю. Ставлю его в расписание - открывается сам файл, но ничего не запускается... И еще проблема - как из этой программы VBA, привязанной к этому файлу, открыть текстовуху и сохранить в нее сообщение?
...
Рейтинг: 0 / 0
15.02.2009, 12:33
    #35818057
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
Соорудил для Вас EXE, который запускает при любом уровне безопасности макросов XLS файл с тем же именем, что и EXE. Оба файла EXE и XLS должны быть в одной каталоге.
EXE можете запускать по расписанию из планировщика заданий.

Про "открыть текстовуху" не понятно, что нужно: заменить, дописать или отредактировать.
В любом случае, все это есть в VBA-справке, ключевые слова: OpenTextFile Method, Writing Data to Files, Open Statement. Если не разберетесь, то лучше открыть отдельную тему.
...
Рейтинг: 0 / 0
25.03.2009, 15:29
    #35891145
D_m_m_D
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
ZVI,

А подскажите, пожалуйста, как вы соорудили этот EXE?

Или, может быть, есть способ сделать ярлык на макрос? То есть заносишь ярлык в автозагрузку (или планировщик) и он сам запускает макрос..
...
Рейтинг: 0 / 0
27.03.2009, 00:01
    #35895217
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
Соорудил с помощью VB6. Можно его запускать как из автозагрузки, так и из планировщика. Можно сделать и ярлык на него, и запускать из ярлыка.

Аналогичного эффекта можно добиться, если скопировать вот этот код в любой текстовый редактор, например в Блокнот, и затем сохранить в обычный текстовый файл с расширением VBS, например, с именем LoadMyMacro.vbs
Код такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
' Текстовый файл с расширением VBS
With  CreateObject("Excel.Application")
  .Visible = True
  .Workbooks.Open("C:\Test\RunXL.xls")
  .Application.Run "MyMacro"
End With

После запуска такого VBS-файла сначала сработают все макросы, реагирующие на открытие книги, если они есть, а затем будет вызван макрос стандартного модуля MyMacro(). Такой VBS-файл тоже можно запускать как непосредственно, так и из ярлыка.
...
Рейтинг: 0 / 0
01.04.2009, 17:40
    #35906487
D_m_m_D
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение даты в сводной таблице и запуск с периодичностью
Спасибо большое!!!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменение даты в сводной таблице и запуск с периодичностью / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]