Announcement

Collapse
No announcement yet.

Kontrollkästchen in Excel durch Delphi aktivieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kontrollkästchen in Excel durch Delphi aktivieren

    Hallo,<br>
    ich möchte durch mein Delphiprogramm ein Kontrollkästchen in Excel aktivieren. Das gelingt mir aber irgendwie nicht. Auch der Macrorecorder von Excel, der ja ansonsten sehr gute Anhaltspunkte liefert, hilft mir nicht weiter.<br>
    Hat jemand eine Idee ?

  • #2
    Hi,

    Vielleicht ist es einfacher das Kontrollkästchen mit einer Zelle in Excel zu verbinden und dann mit Delphi nur auf die Zelle zuzugreifen, das Kontrollkästchen wird dann automatisch aktiviert/deaktiviert.
    Z.B: Eigenschaft 'LinkedCell' des Kontrollkästchens auf $A$1, dann ist das Kästchen angehakt wenn $A$1 = 1.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Wär natürlich ne Möglichkeit, wenn ich keine andere Möglichkeit finde, werde ich es wohl auch machen. Aber trotzdem würde ich es doch ganz gerne per Programm aus machen

      Comment


      • #4
        Ich habe dieses Problem folgendermaßen gelöst:
        Dem Kontrollkästchen habe ich in Word unter Eigenschaften einen Textmarkennamen gegeben. Von Delphi aus greife ich dann mit "WordDokument.FormFields.Item(itemname).CheckBox.V alue := True" auf dieses Kontrollkästchen zu. "Worddokument" ist eine Objektvariable auf mein Worddokument

        Comment


        • #5
          Falls es jemanden interressiert, ich habe es jetzt folgendermassen hinbekommen.<br>
          <pre>
          procedure SetExcelCheckbox(Name:String);
          var
          CheckboxName: OleVariant
          ch:CheckBox;
          begin
          wName := OleVariant(Name);
          ch.(ExcelWorksheet1.CheckBoxes(wname) as CheckBox);
          ch.Value:=1;
          end;
          </pre>
          Wobei Excelworksheet1 natürlich auf das richtige Arbeitblatt zeigen muß

          Comment


          • #6
            oder ohnte Tippfehler so:<br>
            <pre>
            procedure SetExcelCheckbox(Name:String);
            var
            CheckboxName: OleVariant
            ch:CheckBox;
            begin
            CheckboxName := OleVariant(Name);
            ch.(ExcelWorksheet1.CheckBoxes(CheckboxName) as CheckBox);
            ch.Value:=1;
            end;
            </pre&gt

            Comment


            • #7
              Ich sollte vielleicht nicht so überzeugt sein alles, daß gerade alles richtig getippt war.<br>
              ch:=(ExcelWorksheet1.CheckBoxes(CheckboxName) as CheckBox);<br>
              Jetzt werde ich mir das aber auch nicht mehr anschauen, sonst sehe ich doch noch Fehler

              Comment

              Working...
              X