Excel 2007 na Windows Vista. Mam taki problem.
Chciałbym na moim arkuszu umieścić obiekty typu kształt (prostokąt, koło, pole tekstowe itp.),
nadać im nazwę i sterować nimi (zmieniać je poprzez działanie kodu) tak jak
np. wstawianymi do arkusza formatami (CommandButton, TextBox, Label itp.) które to takie unikatowe nazwy muszą mieć.
Zacząłem cos w tym zakresie już próbować tworzyć ale Excel zatrzymał mnie na pewnym etapie poprzez wyświetlanie
błędu: kod 430, Class does not support Automation or does not support expected interface.
Co ciekawe wcześniejsze linijki kodu "przechodzą" i da się zmienić ustawienia tła, zaznaczyć itp.
Kawałek mojego kodu do analizy:
Option Explicit
Sub Ksztalt()
Dim KS As Shape
Dim WS As Worksheet
Set WS = ActiveSheet
Set KS = WS.Shapes.AddShape(msoShapeRectangle, 100, 100, 200, 100)
KS.Name = "MojePole1"
Set KS = WS.Shapes.AddShape(msoShapeRectangle, 400, 100, 200, 100)
KS.Name = "MojePole2"
KS.TextFrame.Characters.Text = "TEKST 1" 'Dla testu, bez uzycia nazwy
WS.Shapes.Range("MojePole1").BackgroundStyle = msoBackgroundStylePreset10 'Dziala
WS.Shapes.Range("MojePole1").Select 'Dziala
KS.TextFrame.Characters.Text = "TEKST 2" 'Dla testu, bez uzycia nazwy
WS.Shapes.Range("MojePole1").TextFrame.Characters.Text = "TEKST 1" 'Nie dziala
WS.Shapes.Range("MojePole1").TextFrame.Characters.Font.Size = 8 'Nie dziala
WS.Shapes.Range("MojePole1").TextFrame.Characters.Font.ColorIndex = xlAutomatic 'Nie dziala
End Sub
Dziękuję za ewentualną odpowiedź. |