Wie kann man ein Textfeld-Objekt über eine bestimmte Zelle, wenn Excel zu automatisieren?

StackOverflow https://stackoverflow.com/questions/66934

  •  09-06-2019
  •  | 
  •  

Frage

Wir automatisieren Excel VB.Net verwenden und versuchen, mehrere Textzeilen auf einem Excel-Arbeitsblatt zu platzieren, die wir nicht drucken einstellen. Zwischen diesen würden wir druckbare Berichte haben. Wir können dies tun, wenn wir Textbox Objekte hinzufügen, und legen Sie das Druckobjekt auf false setzen. (Wenn Sie eine andere Art und Weise haben, mir bitte direkt)

Der Code ein Textfeld hinzuzufügen ist:

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 145.5, 227.25, 304.5, 21#)

aber die Positionierung ist in den Punkten. Wir brauchen einen Weg, es zu platzieren eine bestimmte Zelle über und Größe es mit der Zelle. Wie können wir, wo herauszufinden, es zu setzen, wenn wir nur wissen, welche Zelle es gestülpt?

War es hilfreich?

Lösung

Wenn Sie die Zellennamen oder Position haben, können Sie tun:

With ActiveSheet
  .Shapes.AddTextbox msoTextOrientationHorizontal, .Cells(3,2).Left, .Cells(3,2).Top, .Cells(3,2).Width, .Cells(3,2).Height
End With

Dies wird eine Textbox über die Zelle B3 hinzufügen. Wenn B3 geändert wird, ist das Textfeld auch.

Andere Tipps

Wenn Sie kopieren und ein Textbox einfügen, wird Excel die neuen Textbox platzieren über welche auch immer Zelle zur Zeit ausgewählt ist. So können Sie dies erreichen sehr einfach durch die VBA Copy & Paste-Befehle. Dies kann besonders nützlich sein, wenn Sie vorhaben, viele sehr ähnliche Textfelder zu verwenden, wie Sie effektiv eine Textbox Vorlage erstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top