Aktives Arbeitsbuch programmatisch in Excel ausblenden

9

Ich arbeite an einem VBA-Projekt in einer Arbeitsmappe. Der Code öffnet eine neue Arbeitsmappe und ruft eine externe API auf, die eine Reihe von Daten in mehrere Arbeitsblätter dieser neuen Arbeitsmappe herunterlädt und einfügt. Ich habe die Bildschirmaktualisierung ( Application.Screenupdating = False ) deaktiviert, so dass der Bildschirm zunächst auf die ursprüngliche Arbeitsmappe fokussiert bleibt, während die API Daten auf der anderen Arbeitsmappe im Hintergrund herunterlädt. Wenn die API Daten einfügt, wechselt der Bildschirm jedoch zu der neuen Arbeitsmappe. Wie kann ich das verhindern? Vielen Dank!

    
lodhb 06.07.2012, 00:42
quelle

3 Antworten

3

Sie müssen entweder die Zielarbeitsmappe speichern und schließen oder die ursprüngliche Arbeitsmappe auswählen, bevor die Bildschirmaktualisierung wieder aktiviert wird.

    
Jon Crowell 06.07.2012, 01:29
quelle
17
___ qstntxt ___

Ich arbeite an einem VBA-Projekt in einer Arbeitsmappe. Der Code öffnet eine neue Arbeitsmappe und ruft eine externe API auf, die eine Reihe von Daten in mehrere Arbeitsblätter dieser neuen Arbeitsmappe herunterlädt und einfügt. Ich habe die Bildschirmaktualisierung ( ActiveWorkbook ) deaktiviert, so dass der Bildschirm zunächst auf die ursprüngliche Arbeitsmappe fokussiert bleibt, während die API Daten auf der anderen Arbeitsmappe im Hintergrund herunterlädt. Wenn die API Daten einfügt, wechselt der Bildschirm jedoch zu der neuen Arbeitsmappe. Wie kann ich das verhindern? Vielen Dank!

    
___ answer11354742 ___

Sie müssen entweder die Zielarbeitsmappe speichern und schließen oder die ursprüngliche Arbeitsmappe auswählen, bevor die Bildschirmaktualisierung wieder aktiviert wird.

    
___ tag123excel ___ Nur für Fragen zur Programmierung von Excel-Objekten oder -Dateien oder zur Entwicklung komplexer Formeln. Sie können das Excel-Tag mit VBA, VSTO, C #, VB.NET, PowerShell, OLE-Automatisierung und anderen programmierbezogenen Tags und Fragen kombinieren, falls zutreffend. Allgemeine Hilfe zu MS Excel für einzelne Arbeitsblattfunktionen ist bei Super User verfügbar. ___ tag123vba ___ Visual Basic für Applikationen (VBA) ist eine ereignisgesteuerte, objektorientierte Programmiersprache zum Schreiben von Makros, die für die gesamte Office-Suite und andere Anwendungen verwendet wird. VBA entspricht nicht VB.NET oder VBS; Wenn Sie in Visual Studio arbeiten, verwenden Sie [vb.net]. Wenn sich Ihre Frage speziell auf die Programmierung einer MS Office-Anwendung bezieht, verwenden Sie auch das entsprechende Tag: [Excel-VBA], [Zugriff-VBA], [Word-VBA], [Outlook-VBA] oder [Microsoft-Project-VBA] . ___ qstnhdr ___ Aktives Arbeitsbuch programmatisch in Excel ausblenden ___ tag123excelvba ___ Excel-VBA (Visual Basic für Applikationen für Microsoft Excel) ist die vorherrschende Programmiersprache für Microsoft Office Excel. Es ist eine ereignisgesteuerte und objektorientierte Programmiersprache zum Schreiben von Makros für Microsoft Office-Anwendungen wie Excel. Verwenden Sie diesen TAG NICHT für VB.NET Fragen. ___ answer11354877 ___

Sie könnten versuchen, die API-Funktion von ShowWindow zu verwenden:

%Vor%

Oder alternativ die LockWindowUpdate-API-Funktion (danke an Chip Pearson, Ссылка ):

%Vor%     
___ tag123screen ___ Ein Bildschirm auf einem Gerät, z. B. einem iPhone oder einem anderen Smartphone. Bei Fragen zu gnu-screen (der Terminal-Anwendung für die Verwaltung mehrerer Fenster) verwenden Sie das gnu-screen-Tag. ___
Paul B. 06.07.2012 07:15
quelle
5

Sie könnten versuchen, die API-Funktion von ShowWindow zu verwenden:

%Vor%

Oder alternativ die LockWindowUpdate-API-Funktion (danke an Chip Pearson, Ссылка ):

%Vor%     
mkingston 06.07.2012 01:54
quelle

Tags und Links