Hi!
Habe mal was für dich zusammengeschustert.
Ist kommentiert. Bei Fragen nachfragen.
Delphi-Quellcode:
uses
ComObj;
procedure TForm1.Button1Click(Sender: TObject);
const
wdFieldFormTextInput = $00000046;
wdFieldFormCheckBox = $00000047;
var
Word, Formfield: OLEVariant;
var
iAnzFormFelder, i: Integer;
begin
// Word instanz erzeugen
try
Word := CreateOleObject('Word.Application');
except
// Fehler...
end;
// Word anzeigen
Word.Visible := True;
// Neues Dokument einfügen
Word.Documents.Add;
// Checkbox (Kontrollkästchen1) hinzufügen
Formfield := Word.Selection.FormFields.Add(Word.Selection.Range, wdFieldFormCheckBox);
// Einen Namen vergeben
Formfield.Name := 'Kontrollkästchen1';
// Checkbox anchecken
Formfield.Checkbox.Value := True;
// Checkbox (Kontrollkästchen2) hinzufügen
Formfield := Word.Selection.FormFields.Add(Word.Selection.Range, wdFieldFormCheckBox);
// Einen Namen vergeben
Formfield.Name := 'Kontrollkästchen2';
// Die Anzahl der Formfelder ermitteln
iAnzFormFelder := Word.ActiveDocument.Formfields.Count;
// ShowMessage(IntToStr(iAnzFormFelder));
// in einer Schleife alle Formfelder durchlaufen.
for i := 1 to iAnzFormFelder do
begin
Formfield := Word.ActiveDocument.Formfields.Item(i);
// überprüfen, ob es sich um ein Kontrollkästchen handelt.
if Formfield.Type = wdFieldFormCheckBox then
begin
// FormFeldname anzeigen
ShowMessage(Formfield.Name);
// Dann etwas damit machen...
Formfield.Checkbox.Value := not Formfield.Checkbox.Value;
end;
end;
Word := Unassigned;
Formfield := Unassigned;
end;