Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何从MS Access窗体打开非默认Outlook日历_Vba_Ms Access_Outlook - Fatal编程技术网

Vba 如何从MS Access窗体打开非默认Outlook日历

Vba 如何从MS Access窗体打开非默认Outlook日历,vba,ms-access,outlook,Vba,Ms Access,Outlook,我希望MS Access中表单的用户能够访问Outlook中的共享日历(仅读取)。所以基本上: MS Acess>打开用户Outlook>显示“共享日历”(位于公司的MS Exchange服务器上) 平台:Windows 7x64,Office2013 x32 我在访问默认日历时没有遇到任何问题,仅此而已。我尝试过一些事情,比如硬编码一条直接指向日历的路径,比如“我的日历”。email@domain.com\我的日历\共享日历,但这没有帮助 Private Sub Command0_Click(

我希望MS Access中表单的用户能够访问Outlook中的共享日历(仅读取)。所以基本上:

MS Acess>打开用户Outlook>显示“共享日历”(位于公司的MS Exchange服务器上)

平台:Windows 7x64,Office2013 x32

我在访问默认日历时没有遇到任何问题,仅此而已。我尝试过一些事情,比如硬编码一条直接指向日历的路径,比如“我的日历”。email@domain.com\我的日历\共享日历,但这没有帮助

Private Sub Command0_Click()

Const olFolderCalendar = 9
Dim olkApp, olkSes, olkFolder
On Error Resume Next
Set olkApp = GetObject(, "Outlook.Application")
If TypeName(olkApp) <> "Application" Then
    Set olkApp = CreateObject("Outlook.Application")
    Set olkSes = olkApp.GetNamespace("MAPI")
    'Change Outlook on the next line to the name of the default mail profile'
    olkSes.Logon "Outlook"
Else
    Set olkSes = olkApp.Session
End If

'Set olkFolder = olkSes.GetDefaultFolder(olFolderCalendar)
'Instead of just accessing the default calendar like the code above does
'I tried a direct path(code below) which does not work...

Set olkFolder = GetFolderPath(olkApp, "my.email@domain.com\MyCalendars\Shared Calendar")
olkFolder.Display
Set olkApp = Nothing
Set olkSes = Nothing
Set olkFolder = Nothing


End Sub

Private子命令0\u Click()
常数olFolderCalendar=9
Dim olkApp,olkSes,olkFolder
出错时继续下一步
设置olkApp=GetObject(,“Outlook.Application”)
如果TypeName(olkApp)“应用程序”,则
设置olkApp=CreateObject(“Outlook.Application”)
设置olkSes=olkApp.GetNamespace(“MAPI”)
'将Outlook的下一行更改为默认邮件配置文件的名称'
olkSes.Logon“Outlook”
其他的
设置olkSes=olkApp.Session
如果结束
'Set-olkFolder=olkSes.GetDefaultFolder(olFolderCalendar)
'而不是像上面的代码那样访问默认日历
'我尝试了一个不起作用的直接路径(下面的代码)。。。
设置olkFolder=GetFolderPath(olkApp,“我的。email@domain.com\“我的日历\共享日历”)
olkFolder.显示
设置olkApp=Nothing
设置olkSes=Nothing
设置olkFolder=Nothing
端接头

如果是WebCal日历,请使用。如果所有者授予用户对其日历的代理访问权,请使用。

GetSharedDefaultFolder而不是GetFolderPath?是的,GetSharedDefaultFolder返回文件夹对象,而GetFolderPath返回文件夹路径的字符串尝试了但没有成功。没有成功的方法?错误?要查看路径,请使用文件夹视图n打开日历视图。