2012-05-24 3 views
-3

У меня есть задача запускать на сервере каждые 10 минут или около того (проверка определенных записей в таблице сервера sql, и если они найдены, найдите соответствующие элементы в календаре Outlook/Exchange и обновить их).
Я уже проделал большую часть программирования, используя VBA под Access. Каким будет самый простой язык сценариев для обработки этого? (Я имею в виду: какой из них потребует меньше повторной работы)
Я предполагаю, что выбор между vbScript и PowerShell, но поскольку я никогда не использовал ни одного из них, мне бы хотелось получить некоторые советы/мнение.Самый простой язык сценариев для VBA «expert»

+3

Я не знаю powershell, но да, я знаю, вы можете использовать VBS для запуска в планировщике задач Windows в любом временном интервале, который вы хотите. Если вы знаете VBA, то VB Script будет довольно простым. –

+1

+1 по предложению Сиддхарта. Преобразование довольно просто: http://www.mjtnet.com/blog/2008/04/28/converting-office-vba-to-vbscript/ –

+1

, если у вас уже есть код доступа, почему бы не использовать 'Timer' мероприятие? установить интервал до 600 000 в течение 10 минут между проверкой – SeanC

ответ

2

Почему вы не используете Access? Вам понадобятся следующие:

1 - планировщик, который запускает файл BAT каждые x минут. Может быть «Системный планировщик» от splinterware.

2 - файл BAT, в котором вы запускаете Access, с именем программы доступа, которое должно выполняться как параметр. Он будет содержать одну строку и выглядеть следующим образом:

MSACCESS myAccessProgram.mdb 

3 - файл MS Access, содержащий код VBA для запуска, когда процедура вызывается AutoExec макро

....

+0

Я didn «Мне очень нравится идея установки (или требующей установки) Office на сервере ... Но теперь я думаю об этом дважды, поскольку даже для параметра vbScript потребуется некоторая установка Office, потому что я вызываю объекты Outlook. –

+0

не забывайте, что вы можете использовать версию Access Access (которая бесплатна ...), так что вам не нужно устанавливать весь материал, и вы все равно можете использовать стандартные объекты Office. Это говорит о том, что если вы используете какой-то определенный Outlook, вам нужно будет установить Outlook ... –

1

Вы можете использовать Powershell v2 -

должны смотреть [Его больше видео для начинающих от самого изобретателя - Джеффри Snover] - http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WSV315

  1. Для использования в фоновых задачах Powershell Jobs - http://technet.microsoft.com/en-us/library/dd315273.aspx. V3 имеет более надежную поддержку -http: //blogs.msdn.com/b/powershell/archive/2012/03/19/scheduling-background-jobs-in-windows-powershell-3-0.aspx

  2. Для функциональности, связанные с SQL использовать расширение сообщества от CodePlex - http://sqlpsx.codeplex.com/documentation - Он содержит SQL модуль

  3. SERVER Для календаря Outlook Access, вы можете использовать метод, как описано здесь - http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/24/use-powershell-to-export-outlook-calendar-information.aspx

Powershell является мощным инструментом. Я тоже начал месяц назад и нашел это очень полезным. Вы можете практически добиться чего-либо через Powershell

+0

Спасибо за хорошие ссылки –

+0

Обновлены ссылкой на канал Channel9. Должен следить, если вы серьезно относитесь к разработке Powershell. –

1

Я использовал VBScript под управлением Windows Scripting Host все время, прежде чем я переключился на Powershell около шести лет назад. VBS займет меньше времени, и синтаксис очень похож на VBA. Powershell не такой разный, как что-то вроде python, и вы можете использовать его в качестве контроллера автоматизации COM, но если вы находитесь в сжатом сроке и не хотите изучать новый синтаксис сегодня, это займет больше времени.

Я не видел ваш код, но я предполагаю, что переместив его из VBA в VBS, в основном он будет добавлять соответствующие вызовы CreateObject для получения ссылок на объекты. Основная часть кода должна быть одинаковой.

Это, конечно, стоит изучить Powershell. Если кода не так много, это может быть хорошим проектом для начала. Вы должны иметь возможность легко планировать скрипт powershell с помощью обычного планировщика задач.Прежде чем начать, я дважды проверю версию Powershell на сервере. В случае сомнений, код для Powershell V1. Вещи в значительной степени совместимы с переносчиками, но это отстойно написать что-то для V2 и обнаружить, что у вас есть среда V1. Если у вас действительно старый сервер, например Windows Server 2003, вам может потребоваться установить Powershell, тогда как VBS (и JScript), вероятно, уже доступны через Windows Scripting Host.

Смежные вопросы