Poniżej prosty skrypt służący do uruchomienia makr w Excel lub Access przy pomocy pliku VBS. Jedyne, co musimy zrobić to wskazać lokalizację pliku Access oraz nazwę makra, które ma zostać uruchomione. Następnie wklejamy skrypt do notatnika i zapisujemy jako nazwa_pliku.VBS.

set objaccess = createobject("Access.application")
objaccess.opencurrentdatabase("D:\NAZWA_PLIKU_BAZY.ACCDB") 'Lokalizacja pliku Access
objaccess.run "Makro1" 'nazwa makra do uruchomienia
objaccess.CloseCurrentDatabase
set objaccess=nothing

Poniżej analogiczny skrypt do uruchomienia Excela oraz makra w Excel

Option Explicit
on error resume next
Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("D:\NAZWA_PLIKU_EXCEL.xlsm", 0, True) 'Lokalizacja pliku EXcel
xlApp.Run "Makro1" 'Nazwa makra do uruchomienia
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
 
'WScript.Echo "Finished." 'Tutaj możemy wpisać komunikat, który wyświetli się po uruchomieniu makra
WScript.Quit

Jeśli chcemy, by nasze makra uruchamiały się automatycznie o określonej godzinie, korzystamy z Harmonogramu zadań. Otworzymy go wpisując „HARM” w Menu Start >> Wyszukaj. Po uruchomieniu harmonogramu zadań przechodzimy do Biblioteki Harmonogramu zadań w lewym oknie harmonogramu. Następnie  prawym oknie wybieramy „Utwórz zadanie”. W zakładce „Ogólne” Wprowadzamy nazwę naszego zadania. W zakładce „Akcje” wskazujemy lokalizację wcześniej utworzonego pliku VBS. W zakładce „Wyzwalacze” definiujemy, kiedy wskazany plik VBS ma się uruchamiać”. Gotowe.

Poniżej najprostszy kod VBA w Access do wysyłania mailingu. Za jego pomocą wyślemy maila poprzez swoje główne konto pocztowe. Konto pocztowe musi być wcześniej prawidłowo skonfigurowane:


Sub MailByAccess()
PID = Shell("outlook.exe", vbNormalFocus) 'tym kodem uruchamiamy Outlooka

Dim omsoutlook As Object
Dim oemail As Object
Dim blnRet As Boolean
Set omsoutlook = CreateObject("Outlook.Application")
Set oemail = omsoutlook.createitem(olmailitem)

With oemail
.To = "tomasz.kenig@xxx.pl" 'wpisujemy odbiorcę
.subject = "Temat" ' wpisujemy temat emaila
.body = "Tresc E-maila"  'wpisujemy treść emaila
.send
End With

Set omsoutlook = Nothing
Set oemail = Nothing

'PID = Shell("D:\refresh_outlook.cmd", vbNormalFocus)
End Sub