Excel has been terminated due to a blocking dialog: De code in dit project moet worden bijgewerkt voor gebruik op 64-bits systemen

Bij het publiceren van een analyse kan de volgende melding verschijnen: Excel has been terminated due to a blocking dialog: De code in dit project moet worden bijgewerkt voor gebruik op 64-bits systemen.

Dit is geen inhoudelijke foutmelding. Deze melding geeft alleen aan dat tijdens het uitvoeren van een routine een dialoogvenster is verschenen met een inhoudelijke melding. Deze inhoudelijke melding kun je raadplegen via de wachtrij.

Oplossing

  1. Ga naar: Algemeen / Beheer / Wachtrij.
  2. Open de taak m.b.t. het publiceren van de analyse.
  3. Klik op de actie: Fout informatie.
  4. Klik op de actie: Detail.
  5. Klik op de afbeelding, deze kan de volgende meldingen tonen:

    De code in dit project moet worden bijgewerkt voor gebruik op 64-bits systemen

    The code in this project must be updated for use on 64-bit systems

Procedure in Excel

Zoek in de Microsoft Visual Basic macro-editor in het gehele project de DLL-aanroepen door te zoeken op "dll". Vervang deze aanroepen door een "PtrSafe" attribuut.

  1. Open de analyse in Microsoft Excel.
  2. Open de Microsoft Visual Basic macro-editor met de sneltoets Alt+F11.
  3. Start de zoekfunctie met de sneltoets Ctrl+F.
  4. Wijzig "Zoeken in" in "Huidig project".
  5. Zoek naar de tekst "dll".
  6. Vervang de "Declare Function" met een "PtrSafe" attribuut-variant zoals in het voorbeeld.

Voorbeeld

De originele regel ziet er als volgt uit:

Declare Function CoRegisterMessageFilter Lib "OLE32.DLL" (ByVal lFilterIn As Long, ByRef lPreviousFilter) As Long

Voeg een "PtrSafe" attribuut-variant toe.

#If VBA7 Then

Declare PtrSafe Function CoRegisterMessageFilter Lib "OLE32.DLL" (ByVal lFilterIn As Long, ByRef lPreviousFilter) As Long

#Else

Declare Function CoRegisterMessageFilter Lib "OLE32.DLL" (ByVal lFilterIn As Long, ByRef lPreviousFilter) As Long

#End If

Let op:

Daarnaast vervang je de regels waarin "Kernel32" voorkomt, ook door een extra regel met daarin het "PtrSafe" arttribuut. De werkwijze is hetzelfde als in dit voorbeeld.