Windows Update 2019-08 Cumulative Update has broken VBA code use case

Anonymous
2019-08-14T10:33:56+00:00

An issue with VBA code has started to be seen by some of my users and also by me this morning. I have tracked it down to have been caused by the latest 2019-08 Cumulative Update (e.g. KB4511553) and it is affecting all combinations of Windows and Office that I have seen so far- from Windows Server 2008 to Windows 10 & Office 2003(!) to Office 2016. 

The test code below demonstrates the problem. The method "Test" executes with no errors before the 2019-08 cumulative update is installed (or after it is uninstalled). However, after the update, the scenario of passing an empty ParamArray parameter to another method as a Variant parameter causes an error to be thrown on the declaration line of the second method. (Error 5: Invalid procedure call or argument).

Sub Test()

    Test1 "A", "B"   'Works OK with and without Windows Update

    Test1            'Fails after Windows Update

End Sub

Sub Test1(ParamArray P() As Variant)

    Test2 P

End Sub

Sub Test2(ByVal P As Variant)    'Error occurs on this line

End Sub

This is causing errors in my Microsoft Access application, but I have also tried this code in Word 2016 and the same issue occurs there too.

Can somebody validate this, please? I'm not really sure what the correct way of reporting this problem is.

Thanks

Chris

Microsoft 365 and Office | Access | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

43 answers

Sort by: Oldest
  1. Tom van Stiphout 40,216 Reputation points MVP Volunteer Moderator
    2019-08-14T14:15:03+00:00

    I don't have that exact version, but your code works fine in:

    1907 11901.20176

    1907 11901.20218

    1909 12001.20000

    Perhaps you can upgrade or downgrade?

    Did you decompile?

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2019-08-14T14:35:20+00:00

    Hi Tom, 

    Thanks for replying. I have tested on 1907 11901.20176 and this did exhibit the error, as it has on all versions I have tried of Microsoft Office. I have created a blank database from scratch with the test code.

    Have you tried executing the code after installing the 2019-08 Windows Cumulative Update? This is KB4511553 for my version of Windows (1809), but KB4512501 on 1803, or KB4512508 on 1903. (Also KB4512476 for the Monthly Rollup for Windows Server 2008 SP2)

    Thanks

    Chris

    Was this answer helpful?

    0 comments No comments
  3. Deleted

    This answer has been deleted due to a violation of our Code of Conduct. The answer was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.


    Comments have been turned off. Learn more

  4. Anonymous
    2019-08-14T15:45:53+00:00

    Chris:

    Don't reply to the elizabeth lee contacts, they are machine generated spam

    What version and build number do you have after the updates are applied?

    What version Office do I have / What Version  Windows do I have

    Textify – A tool to capture “uncopiable” text from dialog boxes

    https://rammichael.com/textify

    Have you ever wanted to copy some text from a dialog box which doesn’t provide such functionality?

    Textify was created to solve this problem: you can point your mouse over the text, click on the mouse shortcut (Shift + Middle click by default), and get a selectable view of the text.

    <Rohn007: I’ve been using this tool for a while now. It is great for copying “uncopiable” text in dialog boxes, like version and build numbers.

    2018 11 26- 5 ways to find the exact version of Microsoft Office that you are using

    https://www.digitalcitizen.life/find-exact-version-microsoft-office

    This is a good article that covers Office 2003 to 2019.

    Was this answer helpful?

    0 comments No comments
  5. Anonymous
    2019-08-14T19:56:06+00:00

    I am a Sr. Escalation Engineer for Microsoft, and we are already working multiple support cases that have been opened for this issue.  The update that was released yesterday contained a change in the oleaut32.dll that mitigates a specific security exploit. Unfortunately, this mitigation unexpectedly caused all these VBA and VB6 apps that were passing an empty ParamArray to start getting E_INVALIDARG in return from an internal function call.  This bubbled up to the errors you are seeing.

    We are taking this very seriously and discussing the possibilities for a safe and quick way to resolve this.  Since it was caused by a security update, there may be some obstacles to simply reverting the changes we made.

    Nevertheless, our full attention is on this issue now, and please rest assured that we will provide an update when we can safely do so.

    In the meantime, if you are at liberty to modify your code, passing a parameter to the ParamArray, even if you don't need it, should avoid the problem.

    Scot

    Was this answer helpful?

    10+ people found this answer helpful.
    0 comments No comments