Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Solid Edge
  VB und VBA, ich brauch mal hilfe!!!

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge
Autor Thema:  VB und VBA, ich brauch mal hilfe!!! (502 mal gelesen)
amg13
Mitglied



Sehen Sie sich das Profil von amg13 an!   Senden Sie eine Private Message an amg13  Schreiben Sie einen Gästebucheintrag für amg13

Beiträge: 942
Registriert: 20.12.2002

Aktuell:
FSC R550 2x Xeon X5450 QuadCore
8GB RAM
Nvidia FX4800
Dell Precision M6300
Solid Edge ST3
NX 7.5
Solid Works 2010
Pro/E
Das war einmal:
HP Workstation
>80x SolidEdge V19 (Classic & Foundation)
14x SMAP3D Piping/Partfinder

erstellt am: 11. Mai. 2004 19:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute,

bisher ging alles gut. Nur heute stadn ich vor einem problem was
mir etwas zu denken gibt.
Ich schreibe meine kleinen Progrämmchen in VBA und kompiliere sie später mit VB zu einer exe.

Vor kurzem habt ihr mir geholfen die Drawingview auszulesen.
Durch eure Tips ist dann folgendes Entstanden:

Sub SetDV()
   
'get the selected drawing view and set "SelectedDV"
    If GetSelectedDV(objDoc, objDV) Then
        SelectedDV = objDV.Name
    End If
   
    If SelectedDV = "" Then
        MsgBox "No drawing view selected. Select a drawing view and run the macro again."
        End
    End If
 
End Sub

'this Function returns the selcted drawing view
Function GetSelectedDV(ByVal objDft As Object, ByRef objDW As Object) As Boolean
 
  On Error GoTo ErrorHandler
 
    If objDft.SelectSet.Count <> 1 Then Exit Function
    If objDft.SelectSet(1).Type = igDrawingView Then
        Set objDW = objDft.SelectSet(1)
        GetSelectedDV = True
    End If
ErrorHandler:

End Function

Nun zu meinem Problem:
In VBA bekomme ich in SelectedDV die aktuelle, gewählte
Drawing view zurück (muss vor dem Programmstart markiert sein)

Starte ich das ganze aus VB Studio 6 bekomme ich keinen Wert zurück.
Obwohl eine Drawingview in SE gehighlighted ist.

Hat jemand eine Idee? Ich bin kein profi im programmieren.

cya
AMG

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


Sehen Sie sich das Profil von Arne Peters an!   Senden Sie eine Private Message an Arne Peters  Schreiben Sie einen Gästebucheintrag für Arne Peters

Beiträge: 7321
Registriert: 05.2002.24

Solid Edge Seminarunterlagen
Training, Beratung, Programmierung

erstellt am: 11. Mai. 2004 20:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für amg13 10 Unities + Antwort hilfreich

So sollte es gehen. Ich hab das zwar nur als Main() gemacht. Aber als Funktion müsste es auch gehen.
Gewählt werden dar nur eine einzelne Zeichnungsansicht.
Ist es wie gewünscht?

*******************
Dim objApp As SolidEdgeFramework.Application
Dim objDocDraft As SolidEdgeDraft.DraftDocument
Dim objView As SolidEdgeDraft.DrawingView

Private Sub main()
Set objApp = GetObject(, "SolidEdge.Application")

If objApp.ActiveDocument.Type = igDraftDocument Then
        Set objDocDraft = objApp.ActiveDocument
Else
        Exit Sub
End If

Select Case objDocDraft.SelectSet.Count
    Case 0
            MsgBox "Selectset empty. Please select one DrawingView."
    Case 1
        If objDocDraft.SelectSet(1).Type = igDrawingView Then  '1298446368
            Set objView = objDocDraft.SelectSet(1)
            MsgBox "Ich bin drin" & Chr(13) & Chr(13) & "Name= " & objView.Name
        Else
            MsgBox "Selected Object is not a Drawing View."
        End If
    Case Else
            MsgBox "Selectset contains more than 1 Element. Please select one DrawingView."
End Select

End Sub

------------------
APeters@BSS-Online.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

amg13
Mitglied



Sehen Sie sich das Profil von amg13 an!   Senden Sie eine Private Message an amg13  Schreiben Sie einen Gästebucheintrag für amg13

Beiträge: 942
Registriert: 20.12.2002

Aktuell:
FSC R550 2x Xeon X5450 QuadCore
8GB RAM
Nvidia FX4800
Dell Precision M6300
Solid Edge ST3
NX 7.5
Solid Works 2010
Pro/E
Das war einmal:
HP Workstation
>80x SolidEdge V19 (Classic & Foundation)
14x SMAP3D Piping/Partfinder

erstellt am: 12. Mai. 2004 11:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

also ich versteh das wirklich nicht.
Ich hab jetzt die Funtion aufgelöstund im Sub integriert.
In VBA funktionierts, in VB bekomme ich einfach keine
Drawingview zurück.

Eine Idee Warum????

cya
AMG


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

modeng
Ehrenmitglied V.I.P. h.c.



Sehen Sie sich das Profil von modeng an!   Senden Sie eine Private Message an modeng  Schreiben Sie einen Gästebucheintrag für modeng

Beiträge: 7061
Registriert: 10.12.2003

erstellt am: 12. Mai. 2004 13:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für amg13 10 Unities + Antwort hilfreich

hmm, VBA ist ja nur ein Subset von VB und laeuft z.T. etwas
anders. Es koennte also durchaus sein, das das Coding in
VB einen Fehler erzeugt *und* noch ein 'On error resume next'
wirksam ist -- dann wird der Fehler ja schlicht und ergreifend
ignoriert. War nur mal so 'ne Idee ...

Klaus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pablo
Mitglied
Techniker


Sehen Sie sich das Profil von pablo an!   Senden Sie eine Private Message an pablo  Schreiben Sie einen Gästebucheintrag für pablo

Beiträge: 453
Registriert: 23.01.2002

Win10
Office 365
SE 2019

erstellt am: 12. Mai. 2004 13:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für amg13 10 Unities + Antwort hilfreich

Hallo amg13,

meines Wissens gibt es bezüglich des SolidEdge.Application Objects keinen Unterschied zwischen VB und VBA, hast du dein objDoc in VB überprüft? Wie sieht es mit Option Explicit aus?

pablo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

amg13
Mitglied



Sehen Sie sich das Profil von amg13 an!   Senden Sie eine Private Message an amg13  Schreiben Sie einen Gästebucheintrag für amg13

Beiträge: 942
Registriert: 20.12.2002

Aktuell:
FSC R550 2x Xeon X5450 QuadCore
8GB RAM
Nvidia FX4800
Dell Precision M6300
Solid Edge ST3
NX 7.5
Solid Works 2010
Pro/E
Das war einmal:
HP Workstation
>80x SolidEdge V19 (Classic & Foundation)
14x SMAP3D Piping/Partfinder

erstellt am: 12. Mai. 2004 13:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Export.zip

 
Bevor wir hier spekulieren,

ist hier der Code und das Formular.

Schaut doch einfach mal drüber vielleicht kann mir jemand sagen
was nicht korrekt ist.

cya
AMG

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

modeng
Ehrenmitglied V.I.P. h.c.



Sehen Sie sich das Profil von modeng an!   Senden Sie eine Private Message an modeng  Schreiben Sie einen Gästebucheintrag für modeng

Beiträge: 7061
Registriert: 10.12.2003

erstellt am: 12. Mai. 2004 14:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für amg13 10 Unities + Antwort hilfreich

... laeuft, wo ist das Problem? Einen ausgewaehlten View bekomme
ich on VB 6/Sp 4 V14/Sp6 zu fassen ...

Klaus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

amg13
Mitglied



Sehen Sie sich das Profil von amg13 an!   Senden Sie eine Private Message an amg13  Schreiben Sie einen Gästebucheintrag für amg13

Beiträge: 942
Registriert: 20.12.2002

Aktuell:
FSC R550 2x Xeon X5450 QuadCore
8GB RAM
Nvidia FX4800
Dell Precision M6300
Solid Edge ST3
NX 7.5
Solid Works 2010
Pro/E
Das war einmal:
HP Workstation
>80x SolidEdge V19 (Classic & Foundation)
14x SMAP3D Piping/Partfinder

erstellt am: 12. Mai. 2004 14:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Kill_Balloons.zip

 
hi,

also nun dreh zweifle ich echt!
Kannst Du mir das Exe zukommen lassen :-)

Hier einmal das EXE das ich mit unserem VB Studio 6.
erzeugt habe.

Probier doch mal bitte aus ob das bei Dir funktioniert (Option3)

Danke,
AMG

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

modeng
Ehrenmitglied V.I.P. h.c.



Sehen Sie sich das Profil von modeng an!   Senden Sie eine Private Message an modeng  Schreiben Sie einen Gästebucheintrag für modeng

Beiträge: 7061
Registriert: 10.12.2003

erstellt am: 12. Mai. 2004 14:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für amg13 10 Unities + Antwort hilfreich


Image1.jpg

 

hast Du an das Setzen der Project Properties in VB gedacht?
sonst laeuft naemlich nix
Die SE Constants sollten auch gesetzt sein

Klaus

[Diese Nachricht wurde von modeng am 12. Mai. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

amg13
Mitglied



Sehen Sie sich das Profil von amg13 an!   Senden Sie eine Private Message an amg13  Schreiben Sie einen Gästebucheintrag für amg13

Beiträge: 942
Registriert: 20.12.2002

Aktuell:
FSC R550 2x Xeon X5450 QuadCore
8GB RAM
Nvidia FX4800
Dell Precision M6300
Solid Edge ST3
NX 7.5
Solid Works 2010
Pro/E
Das war einmal:
HP Workstation
>80x SolidEdge V19 (Classic & Foundation)
14x SMAP3D Piping/Partfinder

erstellt am: 12. Mai. 2004 15:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Klaus,

das wars. Ohne diesen Tip wäre ich noch zum Elch geworden.
Es hat ein Häckchen gefehlt.

schönen Tag noch, nun bin ich wieder beruhigt.
ciao
AMG

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

amg13
Mitglied



Sehen Sie sich das Profil von amg13 an!   Senden Sie eine Private Message an amg13  Schreiben Sie einen Gästebucheintrag für amg13

Beiträge: 942
Registriert: 20.12.2002

Aktuell:
FSC R550 2x Xeon X5450 QuadCore
8GB RAM
Nvidia FX4800
Dell Precision M6300
Solid Edge ST3
NX 7.5
Solid Works 2010
Pro/E
Das war einmal:
HP Workstation
>80x SolidEdge V19 (Classic & Foundation)
14x SMAP3D Piping/Partfinder

erstellt am: 13. Mai. 2004 10:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Eine kleine frage hab ich noch.

Wenn ich das programm ausführe (es macht das was es soll)
und ich schau in den Taskmanager gibt es selbst nach beenden von SE
einen Prozess der Killballoon.e (nicht exe sondern nur*.e) heißt.
muss ich noch ne zeile einabuen damit der prozess auch verschwindet?

cya
AMG

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

modeng
Ehrenmitglied V.I.P. h.c.



Sehen Sie sich das Profil von modeng an!   Senden Sie eine Private Message an modeng  Schreiben Sie einen Gästebucheintrag für modeng

Beiträge: 7061
Registriert: 10.12.2003

erstellt am: 13. Mai. 2004 16:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für amg13 10 Unities + Antwort hilfreich


irgendwo in dem Coding hiess es Kill_Balloon.Hide und sicher ist
das Window noch aktiv es wird also so sein, dass noch auf das
Beenden dieser Form gewartet wird ergo vor dem VB command END
sollte noch ein  unload Kill_Balloon kommen. Die Logik des KillBallon
ist etwas gewoehungsbeduerftig ...

Klaus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

amg13
Mitglied



Sehen Sie sich das Profil von amg13 an!   Senden Sie eine Private Message an amg13  Schreiben Sie einen Gästebucheintrag für amg13

Beiträge: 942
Registriert: 20.12.2002

Aktuell:
FSC R550 2x Xeon X5450 QuadCore
8GB RAM
Nvidia FX4800
Dell Precision M6300
Solid Edge ST3
NX 7.5
Solid Works 2010
Pro/E
Das war einmal:
HP Workstation
>80x SolidEdge V19 (Classic & Foundation)
14x SMAP3D Piping/Partfinder

erstellt am: 13. Mai. 2004 22:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Klaus,

danke für den Hinweis mit dem unload.

Warum ist die Logik des Programms etwas gewöhnungsbedürftig?

Wie würde man es besser machen, bzw. was ist so unlogisch?

cya
AMG

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz