Macro nei punti di Excel dopo un Workbook.Open Command

Traduzione articoli Traduzione articoli
Identificativo articolo: 555263 - Visualizza i prodotti a cui si riferisce l?articolo.
Autore: Jan Karel Pieterse MVP
Espandi tutto | Chiudi tutto

Sintomi

Si esegue il codice che si significa che apre un o più file utilizzando il comando Workbooks.Open.
Appena si tiene il MAIUSC premuto quando si elabora questo comando, i punti di esecuzione di macro e il programma vengono interromputi completamente.
Ciò succederà anche se ad esempio, un messaggio e-mail in Outlook si modifica whilst VBA Excel elabora il codice nel background.

Cause

Si progetta per che Excel non esegua il codice Auto_apri e Workbook_Open quando una cartella di lavoro si apre dall'interfaccia utente whilst tenere il MAIUSC premuta. Questo comportamento (desiderato) si applica anche purtroppo quando apre le cartelle di lavoro tramite codice VBA.
 
Microsoft ha confermato che ciò è un bug.

Risoluzione

La soluzione per questo problema (solo applicabile in Windows "Piattaforme") è rilevare se si preme il tasto MAIUSC e attendere rilasciandosi prima di emettere il comando Workbooks.Open:
 
' Dichiara APIO
Dichiarare _ GetKeyState Lib di funzione "User32"
(VKey As Integer ByVal) As Integer
TASTO_MAIUSC const = 16
 
Fungere ShiftPressed() da Boolean
' Restituisce True se si preme tasto MAIUSC
    ShiftPressed < 0 = GetKeyState(SHIFT_KEY)
End Function
 
Il sub Demo()
    ShiftPressed()
        DoEvents
    Ciclo
    Workbooks.Open = "Documents\ShiftKeyDemo.xls C:\My"
End Sub
   

Proprietà

Identificativo articolo: 555263 - Ultima modifica: sabato 26 febbraio 2005 - Revisione: 1.0
Le informazioni in questo articolo si applicano a
  • Microsoft Office Excel 2003
  • Microsoft Excel 2000 Service Pack 1
  • Microsoft Excel 2000 Service Pack 3
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 2002 Service Pack 1
  • Microsoft Excel 2002 Service Pack 2
  • Microsoft Excel 2002 Standard Edition
Chiavi: 
kbpubtypecca kbpubmvp kbhowto KB555263 KbMtit kbmt
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica. Nel caso in cui si riscontrino degli errori e si desideri inviare dei suggerimenti, è possibile completare il questionario riportato alla fine del presente articolo.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 555263
DECLINAZIONE DI RESPONSABILITÀ DI COMMUNITY SOLUTIONS
MICROSOFT CORPORATION E/O I RELATIVI FORNITORI NON RILASCIANO ALCUNA DICHIARAZIONE RELATIVAMENTE ALL'ADEGUATEZZA, AFFIDABILITÀ, ACCURATEZZA DELLE INFORMAZIONI E DELLA GRAFICA IVI CONTENUTE. LA DOCUMENTAZIONE E LA RELATIVA GRAFICA VENGONO FORNITE "COSÌ COME SONO" SENZA GARANZIA DI ALCUN TIPO. CON LA PRESENTE MICROSOFT CORPORATION E/O I RELATIVI FORNITORI NON RICONOSCONO ALCUNA GARANZIA O CONDIZIONE RELATIVAMENTE ALLE PRESENTI INFORMAZIONI, INCLUSE TUTTE LE GARANZIE E CONDIZIONI IMPLICITE DI COMMERCIABILITÀ, IDONEITÀ PER UN FINE PARTICOLARE, TITOLARITÀ E NON VIOLAZIONE DEI DIRITTI ALTRUI. IN NESSUN CASO MICROSOFT E/O I RELATIVI FORNITORI SARANNO RESPONSABILI PER DANNI SPECIALI, INDIRETTI O CONSEQUENZIALI O PER ALTRI DANNI DI QUALSIASI TIPO RISULTANTI DA PERDITA DEL DIRITTO D'USO, PERDITA DI INFORMAZIONI O MANCATO GUADAGNO, SIANO ESSI RISULTANTI DALL'ADEMPIMENTO DEL CONTRATTO, DA NEGLIGENZA O DA ALTRE AZIONI LESIVE, DERIVANTI DA O IN QUALSIASI MODO CONNESSI ALL'UTILIZZO O ALLE PRESTAZIONI DELLE INFORMAZIONI IVI DISPONIBILI, ANCHE IN CASO DI ERRORE, TORTO, NEGLIGENZA, RESPONSABILITÀ ASSOLUTA PER IL PRODOTTO, VIOLAZIONE DEL CONTRATTO, ANCHE NEL CASO IN CUI MICROSOFT O I SUOI FORNITORI SIANO STATI AVVERTITI DELLA POSSIBILITÀ DEL VERIFICARSI DI TALI DANNI.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com