-
VBA - pomoc s kodem
Ahoj panove,
Jakožto ne-programator mam problem s nasledujícím zadáním a vas kolegy bych prosil o pomoc a pripadne zlepsovaky (jak treba udelat ten UserForm takovej, aby i pokud bude zobrazenej aby bylo mozno vybirat z aplikace, ktera cele makro pusti - protoze takhle jak to je musim select udelat pred zobrazenim UserFormu)
Poprosil bych o shovivavost, moje znalosti programovani koncily cca pred 4 roky na VS v ramci C++.
1. Vyber "geometrical set" - Funguje
2. Zobraz UserFrom1 - Funguje
3. Na zaklade volby pomoci OptionButton-ů vlož Parametr daného typu - tady je problem.
Na UserFormu je zatim OptionButton1, OptionButton2, CommandButtonOK, CommandButtonApply a CommandButtonCancel.
Kód:
Public Sub Insert_Parameter_Into_Selected_ParameterSet_With_Option()
Set oActiveDocument = CATIA.ActiveDocument
Set oSelection = oActiveDocument.Selection
Set oPart = oActiveDocument.Part
Set oBody = oPart.Bodies
Set oParameters = oPart.Parameters
'Choose Parameter Set
Dim Filter(0)
Filter(0) = "ParameterSet"
Status = oSelection.SelectElement2(Filter, "Vyber ParameterSet", False)
If Status = "Cancel" Then
Exit Sub
End If
Set MyBody = oSelection.Item(1).Value
oSelection.Add MyBody
Set oParameterSet = oSelection.Item(1).Value
'Display Box with different choices
UserForm1.Show
'Create Parameter
'Update Part
oPart.Update
End Sub
Pro Userfrom je kod nasledujici:
Kód:
Public Sub CommandButtonOK_Click()
'Do stuff here
DoStuffHere
Me.Hide
End Sub
Public Sub CommandButtonApply_Click()
'Do stuff here
DoStuffHere
End Sub
Public Sub CommandButtonCancel_Click()
Me.Hide
End Sub
Public Sub DoStuffHere()
Select Case (OptionButton1 = True)
'Insert Boolean Parameter
oParameterSet.DirectParameters.CreateBoolean "Boolean Parameter", "1"
oSelection.Clear
Select Case (OptionButton2 = True)
'Insert Dimension Parameter
End Select
End Sub
-
Re: VBA - pomoc s kodem
A jakej problém je u těch OptionButtonů, co ti na tom nefunguje?
Neznám přímo "kačena VBA", ale obecně, máš ty OptionButtony správně "zgrupovaný"? Předpokládám, že maj fungovat jako "přepínátko", tj. je vybrána jedna, nebo druhá možnost? Ty OptionButtony o sobě musejí "vědět" aby se to přepínalo, jinak na sobě budou nezávislé... A pak můžou být klidně oba True/False a onen "jeden, nebo druhej" to nebude realizovat.
Nebo co ti to dělá/nedělá.
Pokud to je problém s grupováním, tak viz zde, sice je to pro MS produkty, ale hádám, že v Catii to bude nějak podobně
http://support.microsoft.com/kb/213549/en-us
-
Re: VBA - pomoc s kodem
Ok, děkuji za link, to se opravdu hodí:)
Problém je podle mě to, že DoStuffHere() nevidí oSelection z Insert_Parameter_Into_Selected_ParameterSet_With_O ption()... Nikdo nic víc?