Excel - Deklarace

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Pavel123
Level 1
Level 1
Příspěvky: 91
Registrován: prosinec 06
Pohlaví: Nespecifikováno
Stav:
Offline

Excel - Deklarace

Příspěvekod Pavel123 » 01 led 2007 14:53

Dobrý den, můžete mi prosím někdo říct proč mi nefunguje kód2
když kód1 jedna funguje? Událost CommandButton1_Click() vždy
předchází události CommandButton2_Click().

Kód1, TextBox se jménem "MyTextBox" již existuje
CommandButton2_Click() funguje

Kód: Vybrat vše

Option Explicit
Dim MyObject As Object

Private Sub CommandButton1_Click()
    Dim str As String
    str = "MyTextBox"
   
    Set MyObject = ActiveSheet.OLEObjects(str).Object
    MyObject.Value = "Ahoj"
End Sub

Private Sub CommandButton2_Click()
    MsgBox MyObject.Value
End Sub

Kód2, TextBox se jménem "MyTextBox" vytvářím
CommandButton2_Click() nefunguje

Kód: Vybrat vše

Option Explicit
Dim MyObject As Object

Private Sub CommandButton1_Click()
    Dim str As String
    str = "MyTextBox"
   
    ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=96, Top:=12, Width:=95.25, Height:=17.25 _
        ).Name = str
   
    Set MyObject = ActiveSheet.OLEObjects(str).Object
    MyObject.Value = "Ahoj"
End Sub

Private Sub CommandButton2_Click()
    MsgBox MyObject.Value
End Sub

Jinými slovy, přestože v obou případech používám proměnnou MyObject
deklarovanou v sekci General a v obou případech ji nastavuji shodně
Set MyObject = ActiveSheet.OLEObjects(str).Object
Tak v kódu2 CommandButton2_Click() skončí hláškou
Object variable or With block variable not set
Moc dík za radu.
Pavel

Reklama
cukista
Level 1
Level 1
Příspěvky: 51
Registrován: srpen 05
Pohlaví: Nespecifikováno
Stav:
Offline

Příspěvekod cukista » 09 led 2007 14:18

... a nemas tam nahodou chybu v tom prikazu, kdy TextBox vkladas, myslim ten konec...

Kód: Vybrat vše

    ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=96, Top:=12, Width:=95.25, Height:=17.25 _
        ).Name = str


nema to byt takhle?

Kód: Vybrat vše

Name:= str)


Ja jsem to nezkousel, jen mi to takhle prijde dost divne zapsane - metoda Add s parametry a za tim jeste jeji metoda...


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4703
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12131
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4431
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3275
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » 24 dub 2025 10:51 » v Kancelářské balíky
    5
    3889
    od atari Zobrazit poslední příspěvek
    26 dub 2025 09:11

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti