2016-06-24 31 views
13

Excel 2016 sembra attivare un livello di annullamento aggiunto al livello di programmazione al momento del salvataggio, cosa che non avviene nelle versioni precedenti di Excel (2013, 2010 e 2007). Per riprodurre questo bug apparente, apri una nuova cartella di lavoro e salvala come una cartella di lavoro abilitata per la macro (file .xlsm). Incollare il seguente codice nel modulo ThisWorkbook:I trigger di Excel 2016 annullano dopo il salvataggio del bug?

Option Explicit 
Public WithEvents App As Application 
Private Sub Workbook_Open() 
    Set App = Application 
End Sub 
Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
    Application.OnUndo "foo", "modTest.Undo" 
End Sub 

Poi, inserire un nuovo modulo denominato modTest e incollare il seguente codice:

Public Sub Undo() 
    MsgBox "This is the Excel 2016 bug." 
End Sub 

infine, salvare la cartella di lavoro e riaprirlo. Immettere qualsiasi valore in qualsiasi cella per attivare l'evento Application.SheetChange. Salvare la cartella di lavoro (potrebbe essere necessario eseguire questa operazione due volte, per qualche motivo) e verrà visualizzato il messaggio in modTest.

Qualcuno può spiegare cosa può succedere qui e/o come risolvere questo problema? Se questo è davvero un bug, qual è il modo migliore per segnalarlo a Microsoft?

Questo codice è VBA, ma poiché questo problema interessa i componenti aggiuntivi VSTO scritti in VB.NET e C#, anch'io includo questi tag.

+2

volte Microsoft Connect può essere utilizzato per segnalare bug, ma è non sembra che Office sia nella lista dei prodotti disponibili adesso. In alternativa, un MVP di Microsoft può dare di solito un vantaggio al giusto gruppo di prodotti e almeno ottenere una certa visibilità su di esso (io sono un MVP - Darò questo un po 'per vedere cosa pensano gli altri e lo inoltreremo alla MS se il consenso è che si tratta di un bug) – jleach

+0

Non hai nemmeno bisogno di usare l'evento, devi solo eseguire 'Application.OnUndo" foo "," modTest.Undo "' ovunque. Almeno questo "funziona" per me. Dopo, ho bisogno di salvare due volte. – arcadeprecinct

+0

@arcadeprecinct: questa è una soluzione alternativa in alcuni casi, ma oltre al punto. Non si dispone ancora di un solido evento comportamentale con cui lavorare (e ci sono casi in cui l'applicazione stessa potrebbe eseguire la funzione Annulla internamente, e se non si può fare affidamento sul corretto funzionamento della procedura evento, non ci sono soluzioni (facili) per farlo. – jleach

risposta

1

Abbiamo confermato tramite il test e la comunicazione diretta con gli ingegneri del software MS e personale di supporto che questo bug è stato risolto in Office build rilasciate fine luglio/inizio agosto 2016.

Problemi correlati