2
www.ChF-Online.de  

Kleiner Zeichenzähler

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
 Verschiedenes
 Feld-Arbeiten
 Form-Sachen
 Menü-/Symbolleisten
 VBA und Lotus Notes
 VBA und Mail
 Inside VBAIDE
 Von Word nach Outlook
aktiv aktiv Fix-und-Fertiges/Projekte
 Aufgaben in OL eintragen
 Einfacher Dateibrowser
 Formatvorlagen
 Formularfelder sichern
 Formluarfelder formatieren
 Formluarfelder formatieren 2
 Formluarfelder formatieren 3
 Formular-QuickInfos
 Kontextmenü erstellen
 Sicherheitskopien an bel. Orten
 Sicherheitskopien erstellen Word 2007/2010
 ToolTipps ändern
 Dokumenteigenschaften kopieren
 (Jahres-)Kalender erstellen
aktiv  Zeichen-Zähler
   Word2007 (RibbonX)
   Word2010 (RibbonX)
   Outlook-VBA
   Links zu VB(A)
   DocToHelp
   Netport Express XL
   Astronomie
   Gästebuch
   Volltextsuche
   Sitemap
   Buch:Word-Programmierung
   Impressum & Kontakt
   Datenschutzerklärung
Getestet unter Word2000Getestet unter WordXPGetestet unter Word2003Getestet unter Win2000Getestet unter WinXP  
VBA-Code verfügbar: ja
Beispiel anzeigen
Makro/Datei speichern
Print

Zu jedem Dokument kann man in den Eigenschaften auf der Registerkarte "Statistik" eine Übersicht über die geschriebenen Zeichen/Wörter und Sätze ablesen.
Allerdings ist es umständlich erst die Eigenschaften aufzurufen, vor allem, wenn man diese Informationen gerne während der Arbeit an einem Dokument sehen möchte.

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.
Der API-Timer umfasst die beiden APIs SetTimer und KillTimer, mit denen der Timer gestartet und beendet wird.

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:

  • Eintrag: chf-online.de
  • Untereintrag: CHFZeichenzähler
  • Schlüssel: TimerIntervall"

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
In Word 2003 ist eine ähnliche Symbolleiste bereits vorhanden, die sich aber nicht automatisch aktualisiert.


 Besucher: 0 online  |  0 heute  |  0 diesen Monat  |  723849 insgesamt | Seitenaufrufe: 31   Letzte Änderung: 24.06.2006 © 2001-18 Christian Freßdorf
  Ich glaube, daß sich Gott, als er den Menschen erschaffen hat, gewaltig überschätzt hat.
Oscar Wilde, 1854-1900, irischer Schriftsteller
 powered by phpCMS and PAX