Kleiner Zeichenzähler |
|
Zu jedem Dokument kann man in den Eigenschaften auf der Registerkarte "Statistik" eine Übersicht über
die geschriebenen Zeichen/Wörter und Sätze ablesen. Dieses Problem löst das kleine AddIn CHFZeichenzähler. Dieses AddIn zeigt die Informationen, die VBA über die ComputeStatistics-Methoden anbietet, in einer eigenen Symbolleiste CHFZähler im Format Zeichen (Zeichen mit Leerstellen) / Wörter / Absätze / Seiten an. ActiveDocument.ComputeStatistics(wdStatisticCharacters) '# Zeichen ActiveDocument.ComputeStatistics(wdStatisticCharactersWithSpaces) '# Zeichen m. Leerstellen ActiveDocument.ComputeStatistics(wdStatisticWords) '# Wörter ActiveDocument.ComputeStatistics(wdStatisticParagraphs) '# Absätze ActiveDocument.ComputeStatistics(wdStatisticPages) '# Seiten In einem einstellbaren Intervall werden diese Angaben mit dem aktuellen Dokument abgeglichen und die Anzeige wird aktualisiert. Über den Start-Button wird der Timer gestartet und über den Stop-Button wieder beendet. Die Konfiguration des TimerIntervalls erfolgt im inaktiven Zustand des Timers, indem Ihr mit gedrückter Strg-Taste den Start-Button anklickt. Anschließend gebt Ihr in das Eingabefeld das Aktualisierungsintervall in Sekunden an. Zum Aktualisieren der Anzeige wird ein API-Timer verwendet, da eine VBA-Schleife oder die OnTime-Methode das System zu
sehr auslasten und ein flüssiges Arbeiten beeinträchtigen. Private Declare Function SetTimer Lib "user32" ( _ ByVal hwnd As Long, _ ByVal nIDEvent As Long, _ ByVal uElapse As Long, _ ByVal lpTimerFunc As Long _ ) As Long Private Declare Function KillTimer Lib "user32" ( _ ByVal hwnd As Long, _ ByVal nIDEvent As Long _ ) As Long Der Eingabewert wird über die SaveSetting-Funktion in die Registry geschrieben. Dazu wird der Extrabereich verwendet, in dem VB nud VBA-Programme ihre Daten schreiben dürfen: HKEY_CURRENT_USER\Software\VB and VBA Program Settings Die Makros in dem AddIn CHFZeichenzähler verwenden in diesem Bereich die Einträge:
Function fkt_MakeRegEntry(iTimer As Integer) Const c_Sec As String = "chf-online.de" Const c_String As String = "CHFZeichenzähler" Const s_Timer As String = "TimerIntervall" VBA.SaveSetting c_Sec, c_String, s_Timer, iTimer End Function Beim Start des Timers wird mit der GetSetting-Funktion der gespeicherte Wert aus der Registry ausgelesen und als Intervall im API-Aufruf verwendet. Hinweis |
Besucher: 5 online | 383 heute | 4452 diesen Monat | 2176009 insgesamt | Seitenaufrufe: 135 | Letzte Änderung: 24.06.2006 | © 2001-18 Christian Freßdorf | ||||
Ich habe nie einen gesunden Menschen getroffen, der sich über seine Gesundheit Gedanken gemacht hätte, und nie einen guten Menschen, der um seine Seele besorgt wäre. John Burdon Sanderson Haldane, 1894-1964, engl. Biologe und Genetiker |
powered by phpCMS and PAX |