Word 2003 -2007 mit Makro Zeichen einfügen

26/10/2009 - 09:42 von Roland Scheler | Report spam
Hallo zusammen,

ich möchte per Makro in eine vorhandene Tabelle in beliebige Tabellenzellen
ein beliebiges Zeichen "reinklicken" und beim zweiten Klick wieder entfernen
können.

|x| | | | | |
| | |x| | | |
| | | | | | |
| | | | |x| |
| | | | | | |
| | | | | |x|


Ich möchte allerdings keine Checkboxen verwenden, weil befürchte, dass das
Dokument zu schwerfàllig wird, wenn ich mehrere Dutzend davon integriere.
Oder ist diese Befürchtung unnötig?

Gruß
Roland Scheler
 

Lesen sie die antworten

#1 Christian Freßdorf
26/10/2009 - 13:25 | Warnen spam
Hallo Roland,

zu VBA gibt es sogar eine eigene Newsgroup :-)

Was du brauchst sind zwei Dinge:
ein Klassenmodul "Klasse1" mit folgendem Inhalt

'[code]
Public WithEvents oApp As Word.Application
?
?Private Sub oApp_WindowSelectionChange(ByVal Sel As Selection)
?If Sel.Information(wdWithInTable) = True Then
? If Sel.Cells(1).Range.Text = "X" & Chr(13) & Chr(7) Then
? Sel.Cells(1).Range.Text = ""
? Else
? Sel.Cells(1).Range.Text = "X"
? End If
?
?End If
?End Sub
'[/code]
und ein Modul mit folgendem Inhalt:
'[code]
Dim cls_App As New Klasse1
Sub MyCheck()
Set cls_App.oApp = Word.Application
End Sub
'[/code]
Du führst dann das Makro "MyCheck" aus, um das Klassenmodul zu
initialisieren.
Anschließend wird (nur 1 Tabelle vorausgesetzt), zwischen "X" und ""
umgeschaltet, wenn du in die verschiedenen Zellen klickst.
hast du mehrere Tabelle muss man dies im Klassenmodul berücksichtigen, z.B.
durch Verwendung von Textmarken um die Tabelle o.à.

Sollte so unter allen Word-Versionen funktionieren (auf jeden Fall unter
Word2000)

Gruß Christian
~~~~~~~~~~~~
Antworten / Rückmeldungen nur in die NG!
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)

Ähnliche fragen