selectelement2 - 3 - 4
Uživatel | Příspěvek |
Peter Kovac Poslat zprávu | Profil |
Datum:
4.10. 2012
| Zobrazeno:
12142x Konfigurace CATIA: Text dotazu: Dim Productdocument1 As ProductDocument popripade ani ked zmenim, ako tu bolo v diskusii niekde pisane na: MySTATUS = Selection.SelectElement3(InputObjectType, "Vyber produkt", True, CATMultiSelTriggWhenUserValidatesSelection, False)
ked uz som pri tom, aky je rozdiel medzi ponukanymi selectelement2, selectelement3 a selectelement4? dakujem, |
Michal Poslat zprávu | Profil |
[#3380]
| Publikováno:
04.10. 2012 - 12:04 zkusil bych ještě
Dim vSelection as Variant set vSelection = Selection 'nejsem si jistý jestli musí být na začátku set a potom Váš kod call vSelection.Clear MySTATUS = vSelection.SelectElement2(InputObjectType, "Vyber produkt", False) snad Vám to pomůže. Když tak zkuste připojit i chybovou hlášku... |
Peter Kovac Poslat zprávu | Profil |
[#3381]
| Publikováno:
04.10. 2012 - 12:57 niec je stale zle
pri mojom prvom zapise mi ako chybovu hlasku vypise: "function or interface markde as restricted, or the function uses an Aotomation type not supported in Visual Basic" ked tam dam to s vSelection, tak mi zamrzne Catia. Pritom ale vidim, ze v prikazovom riadku uz vypisuje "Vyber produkt", takze ten prikaz z casti funguje, len to zamrzne cele a neviem preco... |
Peter Kovac Poslat zprávu | Profil |
[#3382]
| Publikováno:
04.10. 2012 - 14:08 tak nepomaha zadeklarovat vselection ani ako variant a ani ako object, a dokonca ani ked necham len Dim vSelection.
Taktiez som skusal inputobject dat ako variant a aj ako string... Najhorsie je, ze catia zamrzne a musim restartnut! neviem, co s tym! |
Michal Poslat zprávu | Profil |
[#3383]
| Publikováno:
04.10. 2012 - 14:34 No tak to teda nevím. Zkusil jsem kód jak jste poslal + ten variant a u mě to funguje.
Sub main() asi bych vytvořil nové makro a zkusil bych to znovu. Možná ještě zkontrolovat reference (tools\references) jestli máte zaškrtnutou referenci na InfInterfaces knihovnu. Ale tak to by mělo být. |
Peter Kovac Poslat zprávu | Profil |
[#3384]
| Publikováno:
04.10. 2012 - 15:13 tak ja neviem, ale nejde mi to... v pripade catscriptu alebo catvbs mi to ide, ale ked som priamo vo VBA editore (teda catvba) a dam to napr. do commandbuttonu, tak to zamrzne...:(
este k tym references, kde to presne najdem? tools/options/general/macros - external references, to je ono? |
Ing Jan Cinert Poslat zprávu | Profil |
[#3385]
| Publikováno:
04.10. 2012 - 15:42 Chyba je opravdu v deklaraci promenné Selection. Musí být deklarovaná jako Variant, je to známá chyba v API. V CATScriptu ani v .NET to nevadí, ale u VBA ano. Pokud by nefungoval Variant, zkusil bych ještě AnyObject. To samé u deklarace InputType.
Tedy Dim oSelection As Variant '(nebo AnyObject) |
Peter Kovac Poslat zprávu | Profil |
[#3386]
| Publikováno:
04.10. 2012 - 16:03 takto vyzera kod:
Private Sub BuOK_Click() kde teda BuOK je sub pre command button. Kazdopadne mi to ale zamrzne a nic, musim restartnut... Neviem, ci je to bug alebo co. Na prerusenie nefunguje ani ctrl+break (ci to funguje iba v zacyklenych cykloch?). Este sa chcem zaroven aj spytat, co sa tyka deklarovania premenych typu Productdocument atd. je mozne to spravit v spustacom "userform_initialize", alebo na zaciatku kodu v "option explicit"? Potrebujem to samozrejme ako globalne, resp. public, ale nefunguje mi to -> pyta opat zadeklarovanie, i ked tipujem, ze problem bude asi syntax, ale to len pomimo otazka...:) |
Michal Poslat zprávu | Profil |
[#3387]
| Publikováno:
05.10. 2012 - 12:14 Tak reference, které se makro odkazuje najdete v horním menu ve VBA prostředí menu Tools\Reference. Měla by fungovat zkratka Alt+T+R.
Nenapadá mě žádný důvod proč to nechce jet. Asi bych zkusil přeinstalovat VBA rozhraní v CATII. |
Peter Kovac Poslat zprávu | Profil |
[#3388]
| Publikováno:
05.10. 2012 - 12:35 vdaka za rady - uz to funguje, ten posledny kod je dobry (s tym variantom), len som musel prepnut moj form do showmodal=false. |
Ing Jan Cinert Poslat zprávu | Profil |
[#3389]
| Publikováno:
05.10. 2012 - 15:03 Já se k VBA dostanu už minimálně, ale jednou jsem se s tou deklarací neskutečně natrápil. Sice mě to nemrzlo, ale pořád hláška, že daná metoda není podporovaná. |
Uživatel nepřihlášen
Pro zobrazení obsahu stránky / provedení akce (vytvoření nového téma, napsání odpovědi do diskuse apod.) musíte být přihlášeni.