VBA objektit visible

Mikähän on hommassa vialla: yritän muuttaa PowerPointissa (2000 SP3) objekteja kuva, command button jne. näkymättömiin (visible=false) ohjelmallisesti mutta ei vain vaikuta mitenkään. Otsiton (caption) saa kyllä muuttumaan mutta visible ominaisuutta ei.

Visible=false toimii kyllä, jos sen muuttaa properties valikosta suoraan manuaalisesti.

Alla on vielä testikoodinpätkää, aktivoituu "erillisestä" commmand-painikkeen klikkauksesta.

Private Sub cmdVisible_Click()
If lblTeksti.Visible = True Then
lblTeksti.Visible = False
cmdHideCommand.Visible = False
imgPicture.Visible = False

lblTeksti.Caption = "Piilotettu"
cmdHideCommand.Caption = "Piilotettu"
Else
lblTeksti.Visible = True
cmdHideCommand.Visible = True
imgPicture.Visible = True

lblTeksti.Caption = "Näkyvissä"
cmdHideCommand.Caption = "Näkyvissä"
End If

End Sub
2215
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

hevon skeidaa, mutta täytyy sielläkin olla jotai perusjuttuja.

Kaippa Visualissakin = on sijoitusmuuttuja ja == on vertailuoperaattori.

if lblTeksti.Visible = True siis tarkoittaa käytännössä sitä, että jos lblTeksti.Visible arvon asettaminen Trueksi onnistuu, niin silloin iffi on true.

if lblTeksti.Visible == True taas tarkistaa, että onko se lblTeksti.Visible True.

Äänestä
  • Koodissa ei sinänsä ole mitään vikaa: VB:ssä tarkistus tehdään todellakin

    if joku = jotain then
    joku = jotain
    end if

    Kyse on nyt vain siitä, miksi objekti.visible = false ei vaikuta.

    Äänestä

Kommentoi aloitusta


roto kirjoitti:

Mikähän on hommassa vialla: yritän muuttaa PowerPointissa (2000 SP3) objekteja kuva, command button jne. näkymättömiin (visible=false) ohjelmallisesti mutta ei vain vaikuta mitenkään. Otsiton (caption) saa kyllä muuttumaan mutta visible ominaisuutta ei.

Visible=false toimii kyllä, jos sen muuttaa properties valikosta suoraan manuaalisesti.

Alla on vielä testikoodinpätkää, aktivoituu "erillisestä" commmand-painikkeen klikkauksesta.

Private Sub cmdVisible_Click()
If lblTeksti.Visible = True Then
lblTeksti.Visible = False
cmdHideCommand.Visible = False
imgPicture.Visible = False

lblTeksti.Caption = "Piilotettu"
cmdHideCommand.Caption = "Piilotettu"
Else
lblTeksti.Visible = True
cmdHideCommand.Visible = True
imgPicture.Visible = True

lblTeksti.Caption = "Näkyvissä"
cmdHideCommand.Caption = "Näkyvissä"
End If

End Sub

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu