Windows update causes Office VBA to fail

A recent Windows update is causing VBA code to fail in Excel, Access and other VBA parts of Office.

The culprit isn’t Office, but the version of Windows that it’s running on.  After the 2019-08 Cumulative Update KB4511553 is applied, some VBA code will stop working.  The patch bug is in Windows 10, 8.1 and 7 plus Windows Server editions (list below).

Not all VBA code is affected. Only code with an empty parameter being passed as a Variant  or a null array is passed.  That’s hardly unusual and should not cause an error.

Chris John found the error and identified the cause in a refreshingly clear and detailed forum post.  After getting the usual forum run-around from people who hadn’t read his message (e.g. irrelevant talk about versions of Office) a Microsoft escalation engineer posted a confirmation that the bug was in the security update and they were working on a fix.

The next day, Microsoft confirmed the bug in their list of ‘known issues’ aka bugs in Windows.

“ After installing KB4512508, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an “invalid procedure call error.””

Better communication than usual

A forum poster noted to the Microsoft engineer:

“Thanks for the rare update from inside the castle. “

Absolutely!  Too often Microsoft deliberately keeps known bugs to themselves until the fix is available. In the meantime, customers waste time and money.

The single authoritative post was not only welcome but saved a lot of hassle for Office and VBA users around the world. Bravo!

The ‘softie replied

“ I apologize for the historical behavior of “the castle” not communicating.  We’re trying to change that. “

We can only hope so.  The current Microsoft policy is an insult to customers and incredibly short-sighted.  Only rarely do Microsoft staff treat their customers like adults and admit to problems.

Office or Windows

You might be surprised that a Windows update causes an Office VBA problem.

The source of the bug is oleaut32.dll which is a Windows component, not Office.

Most people would think that the bug was in Office.  That makes Chris John’s original report so impressive. It was detailed to the point of identifying the Windows update as the culprit – nice detective work.

Which Windows are affected?

Here’s a list of the Windows versions and KB articles affected by the VBA bug:

RS1 – Windows 10 1607 and Windows Server 2016                                               4512517

RS2 – Windows 10 Version 1703                                                                              4512507

RS3 – Windows 10 Version 1709                                                                              4512516

RS4 – Windows 10 version 1803 or Windows Server Version 1803                       4512501

RS5 – Windows 10 version 1809                                                                              4511553

19H1 (1903) – Windows 10, version 1903                                                               4512508

TH1 (1507/RTM)                                                                                                        4512497

Monthly Rollup Win 8.1 and Win Server 2012 R2                                                   4512488

Sec. Only Win 8.1 and Win Server 2012 R2                                                             4512489

Monthly Rollup Win Server 2012 & Windows Embedded 8 Standard                  4512518

Sec. Only Win Server 2012 & Windows Embedded 8 Standard                            4512482

Monthly Rollup Win 7 SP1 and Win Server 2008 R2 SP1                                       4512506

Sec. Only Win 7 SP1 and Win Server 2008 R2 SP1                                                 4512486

Monthly Rollup Win Server 2008 SP2                                                                      4512476

Sec. Only Win Server 2008 SP2                                                                                4512491