vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest poniedziałek, 13 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Odwołanie do kształtów poprzez nadane im wcześniej nazwy


otwartyotwarty rozpoczął: luc postów: 2



napisał: Trebor
postów: 1209


umieszczony:
5 marca 2012
16:48

edytowany:
5 marca 2012
17:00

  
Spróbuj jak poniżej:
WS.Shapes.Range("MojePole1").Select
Selection.Characters.Text = "TEKST 1"
    With Selection.Characters(Start:=1, Length:=7).Font
        .Name = "Arial CE"
        .FontStyle = "Normalny"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
End Sub



lub
Set KS = WS.Shapes("MojePole1")
KS.TextFrame.Characters.Text = "Trebor"
    With KS.TextFrame.Characters(Start:=1, Length:=6).Font
        .Name = "Arial CE"
        .FontStyle = "Normalny"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With

napisał: luc
postów: 1


umieszczony:
5 marca 2012
12:41

  
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ź.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z