Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 11

Автоматическое выполнение макроса

18.02.2010, 19:19. Показов 2583. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

У меня такая проблема. Имеется база данных в MS Access 2003. Из базы данных с помощью макроса экспортируется автоматически создаваемый плейлист для аудио-плеера. Каждый день плей-лист должен обновляться. Вопрос: как выполнять макрос автоматически, например чтобы плей-лист экспортировался при смене даты или при открытии плеера? Какие варианты вы можете предложить?

С Уважением, Андрей.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.02.2010, 19:19
Ответы с готовыми решениями:

Как реализовать автоматическое выполнение макроса после закрытия запроса, access 2003
Кто разбирается, подскажите плиз! Как в access 2003 обеспечить запуск макроса сразу после закрытия запроса. Т.е. требуется, чтобы...

Подтверждение выполнение макроса
Здравствуйте, подскажите пожалуйста. Как можно сделать подтверждение на выполнение макроса (вы уверены? да/отмена) Просто есть некоторые...

Удаленное выполнение макроса
Привет всем! Подскажите, возможно ли выполнить макрос, который расположен в другой книге? Например, есть две книги. В Книге1 расположена...

3
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
21.02.2010, 18:18
Исходника плеера, конечно, не имеется. Попробуйте сделать ярлык, в свойствах которого (или в bat-нике, на который он указывает) сначала запускайте Access с требованием запустить макрос, закрыться, а второй командой запускайте плеер. 2003 офис не пользую - субъективно больше нравится 97. Там это вполне возможно, по крайней мере Word у меня так кое-в чем используется.
1
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 11
02.03.2010, 09:51  [ТС]
Спасибо за совет. Но дело в том, что я не силён в BAT - программировании. Пожалуйста, помогите мне написать код для запуска модуля применимо к моей базе данных.

Ссылка на файл БД
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
07.03.2010, 15:03
Прошу прощения за задержку с ответом. Я просто где-то на неделю умирал для внешнего мира...

Но, собственно говоря, даже просто открыть Ваш файлик не могу, т.к. до сих пор обхожусь 97 офисом, а все более старшие версии не перевариваю, а потому даже инсталляшек их не держу. По аналогии с 97 могу посоветовать такое:
1. Создаете ярлык на Access.EXE, в свойствах которого указываете базу данных, а через ключик /X имя макроса, который должен быть выполнен. (т.е. что то вроде access 16-02-10.mdb /x myMacro).
На всякий случай проверьте ключики для 2003 (в справке Access наберите в поиске "Параметры командной строки") и посмотрите.
2. Если макрос будет срабатывать при запуске, то и пишите в нем все, что надо. (т.е. обновить, запустить Ваш плеер, закрыть Access).

Добавлено через 19 часов 9 минут
Давно уже не имею дела с Access, но вот не поленился посмотреть как это происходит именно в нем
Как оказалось, Access не воспринимает код VBA как макрос, поэтому так:

1. Создаете модуль, скажем с именем "Модуль1", в нем пишите примерно следующее

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Option Compare Database
Option Explicit
 
' забыл донельзя как из VBA вызвать внешнее приложение, поэтому такая бяка 
Public Declare Function WinExec Lib "Kernel32" (ByVal cmdLine As String, ByVal cmdShow As Long) As Long
 
Private Sub Export()
  MsgBox "Экспоритруем"  ' здесь, конечно, будет вызов Вашей экспортирующей процедуры
End Sub
 
Private Sub RunExe()
  Const SW_SHOW = 5
  WinExec "C:\Program Files\Моя программа.exe", SW_SHOW  ' здесь, конечно, будет вызов Вашего плеера
End Sub
 
' Access в упор не видит процедур в модуле, поэтому это будет функция
Public Function MyMacro() As Integer
  Export
  RunExe
  Application.Quit
  MyMacro = 0
End Function
2. Создаете макрос, скажем с именем "Макрос1"
В его Макрокоманды добавляете "ЗапускПрограммы" с именем функции "MyMacro ()"

3. Все сохраняете.

4.Создаете ярлык на Access.exe, в поле "Объект" которого будет примерно такое
"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "C:\Temp\Моя база.mdb" /X Макрос1

5. Запускаете ярлык. (при всех "нормальных" настройках Access задаст кучу ненужных вопросов - типа - "у Вас там небезопасности...", но кому сейчас легко?)
PS или, вместо модуля, все действия - через встроенные команды Access
и еще один PS: все это довольно неопрятно и крайне некрасиво, но вот ничего другого в голову нейдет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.03.2010, 15:03
Помогаю со студенческими работами здесь

Пошаговое выполнение макроса
Привет, написал макрос который добавляет в активную ячейку цифру и переходит ниже на ячейку и тоже добавляет цифру, нужно чтоб при...

Выполнение макроса по условию
Здравствуйте форумчане! Помогите переделать макрос таким образом, чтобы он срабатывал только при условии, когда значения в ячейках А2,В2...

Выполнение макроса по времени
Всем доброго времени суток! подскажите пожалуйста как выполнить макрос в определенное время(10:00). и если макрос не выполнен то запустить...

Останавливается выполнение макроса
Всем добрый день! Сталкнулся с проблемой. Мне надо, чтобы макрос Excel сам открыл другой файл excel и взял оттуда кое-какие данные....

Выполнение макроса по условию
всем привет.у меня есть условие если 1 = 5 то выполнить макрос1 иначе если 1=4 выполнить макрос2 как то так.мне бы узнать код vba.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru