|
|
|

Forum für Office-User, viele Beiträge zu Access |
|
DOWNLOAD-TIPP: Office-Fehler oder Hardware-Problem?
Versionen: Office 97, 2000 und XP
Sicher kennen Sie das Problem:
Sie bearbeiten ein groesseres Word-Dokument oder lassen eine
umfangreiche Abfrage in Access ausfuehren. Ploetzlich meldet Windows
eine allgemeine Schutzverletzung und Word, Access oder eine andere,
diesen Fehler verursachende Office-Anwendung wird zwangsweise beendet.
Schlimmstenfalls ist das mit Datenverlust verbunden, auf alle Faelle
muessen Sie aber wieder neu ansetzen und zusaetzlich Zeit zur Erledigung
der Aufgabe aufwenden. Untersuchungen haben ergeben, dass in vielen
dieser Faelle nicht die Office-Anwendung, ein zu grosses Dokument oder
eine komplexe Aufgabe Schuld am Absturz ist. Vielmehr liegt ein Problem
mit dem Hauptspeicher vor, was sich erst bei extremen Zugriffen zeigt.
Um solchen Problemen einfacher auf die Spur zu kommen, hat Microsoft die
"Windows Memory Diagnostic" entwickelt. Hierbei handelt es sich um ein
kleines Tool, das Ihren Hauptspeicher auf Herz und Nieren prueft und
moegliche Probleme, etwa durch Verwendung unterschiedlicher
Speicherriegel, aufzeigt. Unter Umstaenden loesen Sie damit
Schwierigkeiten, die Sie bislang dem Betriebssystem oder der
Office-Installation zugeschoben haben. Microsoft hat fuer das Tool eine
eigene Website eingerichtet, auf der Sie den Download sowie Hinweise zum
Einsatz finden:
>
http://oca.microsoft.com/en/windiag.asp
Starten Sie das Tool nach dem
Download per Doppelklick. Sie haben nun die Moeglichkeit, ueber CREATE
STARTUP DISK eine bootfaehige Diskette oder ueber SAVE CD IMAGE TO DISK
ein Image zu speichern, das Sie, ebenfalls bootfaehig, auf eine CD
brennen koennen. Nach dem Booten mit der Diskette oder der CD wird ein
DOS-Tool gestartet, das dann die eigentliche Pruefung Ihres
Hauptspeichers durchfuehrt. Anschliessend koennen Sie detaillierte
Informationen und hilfreiche Hinweise zur Loesung eventueller Probleme
abrufen. |
Makros und VBA-Routinen per Esc-Taste
abbrechen
-------------------------------------------
Versionen: Office 97, 2000 und XP
Um ein aus Versehen gestartetes oder zu lange laufendes Makro oder eine
VBA-Routine waehrend der Ausfuehrung abzubrechen, steht normalerweise
nur die Tastenkombination Strg+Untbr zur Verfuegung. Nachteil dieser
Methode ist der, dass der Anwender sich ploetzlich in der
VBA-Entwicklungsumgebung wieder findet und dort mit einer verwirrenden
Abfrage "Ausfuehrung des Codes wurde unterbrochen - Fortfahren, Beenden,
Testen?" konfrontiert sieht. Vor allem bei unerfahrenen Anwendern
besteht hier die Gefahr, dass sie ungewollte Aenderungen am Code
vornehmen und dann womoeglich noch speichern. Ein solcher Abbruch
entzieht sich leider vollkommen der Kontrolle des Programmierers, so
dass begonnene Verarbeitungsvorgaenge nicht sauber abgeschlossen werden
koennen. Wesentlich eleganter waere hier eine Abfrage der ESC-Taste mit
entsprechender Reaktion, denn diese Taste wird ein Anwender nach dem
irrtuemlichen Start oder dem vermeintlichen Absturz eines Makros als
erstes druecken.
VBA selbst stellt keine Funktion zur Verfuegung, mit der die ESC-Taste
abgefragt werden kann, aber eine kleine API-Funktion hilft weiter:
"GetAsyncKeyState()" prueft, ob eine bestimmte Taste gedrueckt wurde und
liefert das Ergebnis in Form eines gesetzten Bits zurueck. Mit der
Funktion "ESCTaste()", die mit Hilfe der API-Funktion Auskunft ueber den
Status der ESC-Taste gibt, koennen Sie Ihre Makros und VBA-Routinen
kuenftig "sauber" abbrechen:
* Druecken Sie Alt+F11, um die VBA-Entwicklungsumgebung zu oeffnen.
* Geben Sie die folgenden Deklarationen und die Funktion "ESCTaste()"
ein:
Public Const VK_ESCAPE = &H1B
Declare Function GetAsyncKeyState _
Lib "user32" (ByVal vKey As Long) As Integer
Function ESCTaste() As Boolean
Dim intAKS As Integer
intAKS = GetAsyncKeyState(VK_ESCAPE)
ESCTaste = (intAKS And 2 ^ 16)
End Function
* Speichern Sie die Aenderungen und verlassen Sie die
VBA-Entwicklungsumgebung.
Der Aufruf der Funktion "ESCTaste()" erfolgt innerhalb einer
Verarbeitungs-Schleife und dient so als Abbruchkriterium fuer das Makro.
Es empfiehlt sich, mit einer zusaetzlichen Variablen zu arbeiten, der
das Ergebnis der Funktion "ESCTaste()" zugewiesen. So koennen Sie den
begonnenen Verarbeitungsvorgang sauber abschliessen:
Sub Test()
Dim bolESCTaste As Boolean
Dim intZaehler As Long
bolESCTaste = ESCTaste()
While Not bolESCTaste And intZaehler < 32768
DoEvents
Application.StatusBar = "Warte auf " _
"ESC-Taste (" + CStr(intZaehler) + ")..."
bolESCTaste = ESCTaste()
intZaehler = intZaehler + 1
'Hier Ihr Verarbeitungsvorgang....
'.....
Wend
Application.StatusBar = ""
If bolESCTaste Then
Beep
'Hier die Verarbeitung sauber abschliessen...
'.....
End If
End Sub
|
Schalten Sie die Excel-Bremse ab
Wie das Journal Ihren Rechner verlangsamen kann
Werden Excel und Ihre Office-Anwendungen immer langsamer, obwohl Sie
die Festplatte regelmäßig defragmentiert haben? Dann liegt der Fehler
möglicher Weise in der Konfiguration von Outlook. Auch wenn Outlook gar
nicht gestartet ist, protokolliert es, wann immer eine Office-Datei
(Word, Excel, Access oder PowerPoint) geöffnet und geschlossen wird. Die
so gesammelten Informationen werden im Journal von Outlook angezeigt.
Das wirkt sich mehr oder weniger drastisch auf die
Arbeitsgeschwindigkeit Ihrer Office-Anwendungen aus. Je größer die Zahl
der Journaleinträge ist, desto stärker werden die Programme ausgebremst.
So schalten Sie das Excel-Journal ab Abhilfe bringt in diesem Fall
lediglich das Abschalten der Journalfunktion von Outlook – falls Sie das
Journal nicht benötigen. Dazu gehen Sie folgendermaßen vor:
- Öffnen Sie Outlook und rufen Sie im Menü "Extras" den Befehl
"Optionen" auf.
- Aktivieren Sie hier das Register "Einstellungen".
- Klicken Sie im Bereich "Kontakte" auf "Journaloptionen".
- Deaktivieren Sie die Protokollierung für alle aufgeführten
Anwendungen.
Nach der Bestätigung mit "OK" laufen Excel und Ihre
Office-Anwendungen wieder schneller.
|
| |
|