Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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 Outlook自定义表单脚本赢得';跑不动_Vba_Outlook - Fatal编程技术网

Vba Outlook自定义表单脚本赢得';跑不动

Vba Outlook自定义表单脚本赢得';跑不动,vba,outlook,Vba,Outlook,由于Outlook的最新安全更新,我的代码将无法运行。使用Outlook 2010。有一个带有自定义代码的联系人表单。我单击一个自定义按钮打开历史文件夹中的一个帖子。post项后面有自定义代码,用于将信息写入文本文件。这对运行非常重要。几天前,post项上的代码不再运行。但是如果我保存post项,关闭它并重新打开它,代码运行正常。发生了什么,我该如何解决 'this is the code on the contact form Sub CallFromButton 'get the

由于Outlook的最新安全更新,我的代码将无法运行。使用Outlook 2010。有一个带有自定义代码的联系人表单。我单击一个自定义按钮打开历史文件夹中的一个帖子。post项后面有自定义代码,用于将信息写入文本文件。这对运行非常重要。几天前,post项上的代码不再运行。但是如果我保存post项,关闭它并重新打开它,代码运行正常。发生了什么,我该如何解决

'this is the code on the contact form
Sub CallFromButton

    'get the folder
    Dim HistFolder
    Set HistFolder = Application.Session.GetDefaultFolder(18).Folders("History")

    'add a post item
    Dim blgItem 'PostItem
    Set blgItem = HistFolder.Items.Add("IPM.Post.ClientHistory2")

    'set some information
    blgItem.BillingInformation = "60000"
    blgItem.UserProperties("ClientName") = item.FullName
    blgItem.UserProperties("blgDate") = Now
    blgItem.Display

    '... more code

End Sub 

'this is the code behind the post item
Sub Item_Open()
    Dim LogPage
    Set LogPage = Item.GetInspector.ModifiedFormPages("Log Item")
    LogPage.Controls("ResumeBtn").Visible = False
    LogPage.Controls("BoxDesc").SetFocus
    Item.UserProperties("blgFileName") = "C:\Temp\12345.txt"

    '... more code

End Sub

Function Item_Write()

    '... more code

End Function

最近的Windows更新导致了此问题。您可以卸载它,也可以等待Microsoft的修复:

自定义表单在最新版本的Outlook中严重损坏。让表单正常工作可能涉及到从删除本地缓存到完全从头开始重新创建表单,再到祈祷,但不能保证今天有效的已发布表单明天仍然有效,或者在您进行下一次更改后仍然有效。这真是一团糟。换句话说,如果你得到一个可靠的回复,打我电话,我也很想知道。@Tomalak好吧,如果我不能让它工作,我可能需要去找微软的竞争对手。这意味着我还有很多工作要做。如果你问我的话,Outlook表单作为一项功能已经基本上过时了。他们已经做了最少的工作来将它集成到当前版本的Outlook中(或者它完全是偶然的,因为它仍然在代码库中),但我认为它自Outlook 2000以来在MS没有收到任何开发人员时间。现在必须在注册表中启用自定义表单