Hi zusammen,
ich habe ein Problem zu dem ich im Internet nix finde, ich hoffe hier kann mir jemand helfen.
Und zwar erstelle ich über VB.NET in Excel (vsto) mehrere Buttons. Aufgerufen werden sie im Startup. Das funktioniert soweit auch alles ganz gut. Es gibt nur dann ein Problem wenn die Buttons im "off" erstellt werden.
D.h. wenn ich das Excel Dokument öffne und der Button an einer Stelle erstellt wird, die nicht in meinem Sichtbereich liegt, zu der ich also erst hinscrollen muss. Wenn der letzte Button, den ich erstelle nicht im Sichtbereich erstellt wird, dann ist die Schrift darauf verschwommen und ich kann ihn nicht anklicken. Wenn ich dann das tabellenblatt wechsel und zurückwechsel funktioniert er, aber ich empfinde das doch als etwas umständlich.
Vor allem finde ich interessant, dass es (meistens) nur den letzten erstellten Knopf betrifft.
Meinen Code schreibe ich hier unten hin, hat irgendjemand eine Idee woran es liegen könnte?
Vielen Dank schonmal für die Hilfe
Cheers
Carica
ich habe ein Problem zu dem ich im Internet nix finde, ich hoffe hier kann mir jemand helfen.
Und zwar erstelle ich über VB.NET in Excel (vsto) mehrere Buttons. Aufgerufen werden sie im Startup. Das funktioniert soweit auch alles ganz gut. Es gibt nur dann ein Problem wenn die Buttons im "off" erstellt werden.
D.h. wenn ich das Excel Dokument öffne und der Button an einer Stelle erstellt wird, die nicht in meinem Sichtbereich liegt, zu der ich also erst hinscrollen muss. Wenn der letzte Button, den ich erstelle nicht im Sichtbereich erstellt wird, dann ist die Schrift darauf verschwommen und ich kann ihn nicht anklicken. Wenn ich dann das tabellenblatt wechsel und zurückwechsel funktioniert er, aber ich empfinde das doch als etwas umständlich.
Vor allem finde ich interessant, dass es (meistens) nur den letzten erstellten Knopf betrifft.
Meinen Code schreibe ich hier unten hin, hat irgendjemand eine Idee woran es liegen könnte?
Vielen Dank schonmal für die Hilfe
Cheers
Carica
VB.NET-Quellcode
- Private Sub Tabelle1_Startup() Handles Me.Startup
- Dim WkSh As Interop.Excel.Worksheet = Globals.ThisWorkbook.Worksheets("Tabelle1")
- AddHandler CreateKnopf(WkSh.Range(Cells(7, 10), Cells(8, 12)), System.Drawing.Color.FromArgb(51, 204, 51), "Neue Zeile einfügen", "btnNeueZeile", WkSh).Click, AddressOf btnNeueZeile_Click
- AddHandler CreateKnopf(WkSh.Range(Cells(5, 24), Cells(6, 26)), System.Drawing.Color.FromArgb(255, 255, 204), "Auftrag erstellen", "btnAuftragsnummerNeu", WkSh).Click, AddressOf btnAuftrag_Click
- AddHandler CreateKnopf(WkSh.Range(Cells(5, 10), Cells(6, 12)), System.Drawing.Color.FromArgb(204, 255, 204), "Bestellformular erstellen", "btnBestellformular", WkSh).Click, AddressOf btnBestellformular_Click
- End Sub
- Function CreateKnopf(Range As Excel.Range, Farbe As System.Drawing.Color, text As String, name As String, ws As Excel.Worksheet) As Tools.Excel.Controls.Button
- Dim btn As New Tools.Excel.Controls.Button
- btn.Text = text
- Globals.Factory.GetVstoObject(ws).Controls.AddControl(btn, Range, name)
- btn.BackColor = Farbe
- Return btn
- End Function