• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Diverse OleObjecten met diverse code.

Status
Niet open voor verdere reacties.

HSV

Inventaris
Lid geworden
18 jul 2008
Berichten
20.302
Office versie
Office 365
Beste Excellers in Vba.

Ik ga ook eens een vraag stellen naar aanleiding van:
http://www.helpmij.nl/forum/showthread.php/930489-Besturingselementen-enabled

Ik heb nog eens wat in een testje gezet.
Ik heb er 8 codes in staan; voor elke uitvoering een false en een true.
a_false
a_true
b_false
b_true
enz.

Gewoon normale codes zoals al jaren in Excel worden geschreven.

Het volgende:
Als je ze uitvoert in volgorde zoals a_false → a_true is het geen probleem (identieke codes, maar false of true).
Voer ik d_false → a_true uit krijg je ze niet op enabled.

Ik heb als laatste 'Sub d_false()' uitgevoerd en het bestand opgeslagen met alles disabled.
Op True zetten met a_true en b_true lukt hier niet.
Waar zou dit in kunnen zitten?
 

Bijlagen

  • testHSV.xlsb
    37,1 KB · Weergaven: 49
Ik zie ook dat Enabled bij object eigenschappen ook niet verandert bij het draaien van codes C en D in True of False
Bij het draaien van codes A en B zie dat wel veranderen.
Heb eigenlijk geen idee maar lijkt op een declaratie fout.
 
Goed gezien Jack.

Bracht me op een idee.

Bij code d_true en false heb ik dit....
Code:
oleobj.Object,Enabled = True

veranderd in...
Code:
 oleobj.Enabled = True

Bij Code c_true en false

Ook de functie Object eruit gehaald.
Code:
Sheets(1).OLEObjects(oleobj).[COLOR=#0000ff]Object[/COLOR].Enabled = False
Code:
Sheets(1).OLEObjects(oleobj).Enabled = False

Nu loopt alles goed.

Bedankt voor je bijdrage.
 
Graag gedaan Harry, was voor mij ook nuttig :thumb:
 
Een OLEobject is een Object dat verschillende soorten andere Objecten kan bevatten.
Sommige eigenschappen zijn gebonden aan het OLEObject (zoals .Visible, .Enabled of .Name).
Maar de Objecten die een OLEObject bevat kunnen verschillend zijn: een OptionButton heeft andere eigenschappen dan een ComboBox.
Voor deze specifieke eigenschappen moet je OLEObject(j).Object.eigenschap gebruiken.

Gebruik ter illustratie in het bestand van HSV maar eens:

Code:
Sub M_snb()
  For Each it In Blad1.OLEObjects
     c00 = "OLEType OLEObject: " & it.OLEType
     c01 = "VarType OLEObject: " & VarType(it)
     c02 = "Typename OLEObject: " & TypeName(it)
     c03 = "VarType Object: " & VarType(it.Object)
     c04 = "TypeName Object: " & TypeName(it.Object)
     MsgBox Join(Array(c00, c01, c02, c03, c04), vbLf), , it.Name
  Next
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan