06. december 2005 - 14:27Der er
11 kommentarer og 2 løsninger
Åben Outlook kalender fra Access
Er der nogen der ved hvordan man åbner Outlook kalenderen fra en knap i Access (som VBA kode), og placere sig på en bestemt dato i Outlook kalenderen, som er angivet på et felt i en Access formular.
Det er ikke Outlook jeg skal kode i, det er kun Access der skal åbne Outlook kalenderen på en bestemt dato. Det med og åbne den er kodet, det er parameterne til at åbne kalenderen på en bestem dato, det er galt med.
Her er noget du måske kan anvende: (referencer skal have tlilføjet Outlook)
Option Compare Database Private Sub Kommandoknap6_Click() 'vis dato i outlook, hvis dato udfyldt visKalender [dato] End Sub Sub visKalender(dato) Dim olApp, myCal, myItem, Namespace, ba, bb Dim s1, s2, s3, sx s1 = """" s2 = CStr(dato) 'datofelt -> streng s3 = """" sx = s1 & s2 & s3
Set olApp = CreateObject("Outlook.Application") Set Namespace = olApp.GetNamespace("MAPI") Set xfold = Namespace.GetDefaultFolder(olFolderCalendar)
Set ba = xfold.Items Set bb = ba.Find("[start] = " & sx)
If TypeName(bb) <> "Nothing" Then 'Test om dato er oprettet i kalender bb.Display 'Er oprettet Else Set bb = olApp.CreateItem(olAppointmentItem) 'Er IKKE bb.Start = dato bb.Display End If End Sub
Denne kode virker delvist, men den kan bare ikke åbne på en angivet dato. Er der ikke nogen som ved hvordan man gør?????
Function DisplayCalendar() ' Function Display Appointment() Dim Dato As Date Dim olApp As Outlook.Application Dim olNs As Namespace Dato = #8/12/2005# ' Hvor skal denne dato sættes ind for at få outlook til og åbne på denne dato?
On Error Resume Next Set olApp = GetObject(, "Outlook.Application")
If Err.Number = 429 Then Set olApp = CreateObject("Outlook.Application") End If
On Error GoTo 0
Set olNs = olApp.GetNamespace("MAPI")
If olApp.ActiveExplorer Is Nothing Then olApp.Explorers.Add(olNs.GetDefaultFolder(olFolderCalendar)).Activate 'olFolderCalendar Else Set olApp.ActiveExplorer.CurrentFolder = olNs.GetDefaultFolder(olFolderCalendar)
olApp.ActiveExplorer.Display End If
Set olNs = Nothing Set olApp = Nothing End Function
Jeg har selv fundet løsningen. For dem der skulle have brug for noget lignende, er her koden ...
Function DisplayCalendar(Dato As Date) Dim olApp As Outlook.Application Dim olns As Namespace Dim ol As Outlook.Application Dim viw As View Dim olCal As Outlook.MAPIFolder Dim olExp As Outlook.Explorer Set ol = GetObject(, "Outlook.Application") Set olns = ol.GetNamespace("MAPI")
If ol.ActiveExplorer Is Nothing Then olns.GetDefaultFolder(olFolderCalendar).Display Else Set ol.ActiveExplorer.CurrentFolder = olns.GetDefaultFolder(olFolderCalendar) ol.ActiveExplorer.Display End If Set olExp = ol.ActiveExplorer.CurrentFolder.GetExplorer Set viw = olExp.CurrentView viw.GoToDate Dato Set ol = Nothing Set olns = Nothing Set olCal = Nothing Set olExp = Nothing Set viw = Nothing End Function
er der nogen der kan beskrive for mig, hvordan man gør det - sådan helt fra scratch?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.