Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Problem in der VBA-Programmierung

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
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Problem in der VBA-Programmierung (828 mal gelesen)
Demokrat2000
Mitglied



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

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 11. Jan. 2005 09:12    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,

ich bin kein versierter Programmierer.Ich suche schon seit 2 Stunden das Problem und trotzdem klappt es nicht.
Ich habe hier ein Problem mit der If anweisung. D15 ist ein Feld im Excel,das durch ein Listenelement verändert wird. Ich möchte,wenn dort das Wort Cool erscheint,das der Rechner mir dann die eine Datei und wenn das Wort doof erscheint,das er mir dann die andere Datei aufruft.

Danke

MfG Demokrat2000

Dim objSEApp As SolidEdgeFramework.Application
Dim objSEDoc As Object
Dim strDocument As String
Dim strDocument2 As String
Dim Cool As String
Dim doof As String

Private Sub combobox_Click()

Set objSEApp = CreateObject("SolidEdge.Application")
objSEApp.Visible = True
   
    If D15 = Cool Then
strDocument = "c:\Test.par"

    Else:
strDocument2 = "c:\Test2.par"

    End If

Set objSEDoc = objSEApp.Documents.Open(strDocument)

Set objApp = Nothing
Set objDoc = Nothing
Set objDocuments = Nothing

End Sub

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4)
AutoCAD Map 2000i / WinNT (SP6)

erstellt am: 11. Jan. 2005 09:49    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 Demokrat2000 10 Unities + Antwort hilfreich

Hallo Demokrat,

wäre zwar eher eine Frage fürs ExcelForum gewesen, aber die Antwort bekommst natürlich auch hier.

Ersetze deine IF Zeile durch diese Zeile.

Code:
If Range("D15") = "Cool" Then

- D15 war bei Dir eine Variable und kein Bereich des ExcelBlattes
- Cool war ebenfalls eine Variable und kein Vergleichsstring

Gruss TP

------------------

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

melzig
Mitglied
Maschinenbautechniker


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

Beiträge: 396
Registriert: 15.01.2003

erstellt am: 11. Jan. 2005 09:58    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 Demokrat2000 10 Unities + Antwort hilfreich

@ Demokrat2000

Woher soll denn der Computer wissen welches D15 er vergleichen soll.
Das mußt du ihm schon mitteilen und außerdem den Vergleichswert in Klammern setzen, da es ja ein String ist.

ungefähr so:
Private Sub CommandButton1_Click()
Dim Hund As String
If Tabelle1.Range("A6").Value = "Hund" Then
MsgBox "Ja"
Else
MsgBox "Nein"
End If
End Sub

Tschüß Frank!

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4)
AutoCAD Map 2000i / WinNT (SP6)

erstellt am: 11. Jan. 2005 10:06    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 Demokrat2000 10 Unities + Antwort hilfreich

Mal so als Tip noch. Wenn Du im VBA Modus unter Extras -> Optionen -> Editor .. vor 'Variablendeklaration erforderlich' ein Häckchen setzt, sollte es Dir nicht mehr passieren, weil er dann meckert, dass er die Variablen nicht kennt und Du solltest dann selbst drauf kommen, dass dies keine Variablen sind.

Gruss TP

------------------

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

Demokrat2000
Mitglied



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

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 12. Jan. 2005 09:49    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

Sorry, ich habe da wieder ein problem mit dem Programmieren.
ICh will in Solid Edge eine Gewindebohrun erzeugen aber ich weiß nicht,wo der Fehler liegt.Das Programm ist ein fertiges Programm aus S.E. ich versuche es gerade zu verändern. Ursprünglich erzeugt dieses Programm einen Zylinder und setzt in die Mitte eine Gewindebohrung.
Ich will aber ,das er mir zuerst prüft, ob Solid Edge offen ist und danach will ich ,das er mir die Bohrung an eine bestimmte Stelle setzt.
Ich habe schon versucht in S.E. einen Körper zu erzeugen und dort mal ne Bohrung zu erzeugen.aber irgendwie meckert er da auch noch rum.
Ich weiß nicht, wo er den Fehler hat. Denn die Variablen sind alle neu (also werden vorher nicht verwendet.)
Theoretsich müßte er doch einfach nur die Bohrung erzeugen ohne,das da ne Fehlermeldung ausbringt.

Hier mal der programmcode.

Private Sub help_Click()

Dim objApp, SESearch As SolidEdgeFramework.Application
Dim objDoc As SolidEdgePart.PartDocument
Dim objBaseProfile As SolidEdgePart.Profile
Dim objBaseProfArray(1 To 2) As SolidEdgePart.Profile
Dim objBase As SolidEdgePart.Model
Dim objRegHoleData As SolidEdgePart.HoleData
Dim objRP As SolidEdgePart.RefPlane
Dim objRegHoleProfile As SolidEdgePart.Profile
Dim objRegHole As SolidEdgePart.Hole
Dim objAttributeSets As Object
Dim lngStatus As Long
Dim bAttribSetPresent As Boolean

On Error Resume Next
Set SESearch = GetObject(, "SolidEdge.Application")
    If Err Then
        MsgBox "Bitte Solid Edge starten"
           
    End If

' creating the extruded protrusion and validating it
Set objBaseProfArray(1) = objBaseProfile
Set objBase = objDoc.Models.AddFiniteExtrudedProtrusion(NumberOfProfiles:=1, _
ProfileArray:=objBaseProfArray, ProfilePlaneSide:=igLeft, ExtrusionDistance:=0.05)
objBaseProfile.Visible = False
If (objBase.ExtrudedProtrusions(1).Status <> igFeatureOK) Then
MsgBox "AddFiniteExtrudedProtrusion method of models object fails"
End If
' *** creating a Regular Hole using the Holedatacollection object
' creating the holedata
Set objRegHoleData = objDoc.HoleDataCollection.Add(HoleType:=igRegularHole, _
HoleDiameter:=0.01, BottomAngle:=90)
' creating the profile for the hole and validating it
Set objRP = objDoc.RefPlanes.AddParallelByDistance(parentplane:=objDoc.RefPlanes(1), _
Distance:=0.025, normalside:=igRight)
Set objRegHoleProfile = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:=objRP)
Call objRegHoleProfile.Holes2d.Add(xcenter:=0, ycenter:=0)
lngStatus = objRegHoleProfile.End(ValidationCriteria:=igProfileClosed)
If lngStatus <> 0 Then
MsgBox " profile for the hole is not closed"
End If
' creating the hole
Set objRegHole = objBase.Holes.AddFinite(Profile:=objRegHoleProfile, _
ProfilePlaneSide:=igLeft, FiniteDepth:=0.02, Data:=objRegHoleData)
If (objRegHole.Status <> igFeatureOK) Then
MsgBox "AddFinite method of the Holes object fails"
End If
objRegHoleProfile.Visible = False
' Get the Attributesets collection object
Set objAttributeSets = objRegHoleData.AttributeSets
'Create an attributeset
objAttributeSets.Add "MyAttribSet"
'Check for the presence of Attributeset
bAttribSetPresent = objRegHoleData.IsAttributeSetPresent("MyAttribSet")
' USER DISPLAY
' Release objects
Set objApp = Nothing
Set objDoc = Nothing
Set objBaseProfile = Nothing
Set objBaseProfArray(1) = Nothing
Set objBase = Nothing
Set objRegHoleData = Nothing
Set objRP = Nothing
Set objRegHoleProfile = Nothing
Set objRegHole = Nothing
Set objAttributeSets = Nothing

End Sub

Thx. Demokrat.
Leider kann ich Euch nicht umarmen sonst würde ich es jedesmal tun.

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 12. Jan. 2005 13: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 Demokrat2000 10 Unities + Antwort hilfreich

Hi Demokrat,

wenn hier nicht grade einer SE hat, wird's wohl komplizierter ;-)
Zum Code kann ich nämlich garnix sagen, ausser,
schalte On Error Resume next nach der If Abfrage mal besser wieder aus:

Code:

On Error Resume Next
Set SESearch = GetObject(, "SolidEdge.Application")
    If Err Then
        MsgBox "Bitte Solid Edge starten"
        'fehlt hier nicht ein Exit Sub ?   
    End If
On Error Goto 0

Ausserdem - aber das ist jetzt komplett geraten -   
Dim objDoc As SolidEdgePart.PartDocument
wo weist Du denn objDoc zu, fehlt da nicht ein set objDoc = SESearch.irgendwas???

Unklar auch, von wo aus, also unter welcher Umgebung startest Du denn den Code,
etwa SE? Wenn ja, wozu dann der Appli-Tam-Tam??
Und wo ist der Unterschied zwischen:

Dim SESearch As SolidEdgeFramework.Application
und
Set SESearch = GetObject(, "SolidEdge.Application")
?????
Gruss Nancy
--
ps: aber keine, wirklich keine Ahnung obs annähernd richtig vermutet ist ;-)   

[Diese Nachricht wurde von startrek am 12. Jan. 2005 editiert.]

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

Demokrat2000
Mitglied



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

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 12. Jan. 2005 13:30    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

Hey Nancy,

danke erst einmal für dein Hilfe.Starten will ich den Code aus Excel.
Ich habe es so hinbekommen,dass er mir die bohrung ausspuckt.ABer bei der Erzeugung der Bohrung ist immer noch ein Fehler.

mfG

Demokrat

[Diese Nachricht wurde von Demokrat2000 am 23. Jun. 2005 editiert.]

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 12. Jan. 2005 13:42    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 Demokrat2000 10 Unities + Antwort hilfreich

Hallooo;-)
bitte mal On Error Resume Next rausnehmen oder wieder auf Goto 0 setzen!
Da müsste doch dann mal irgendwo ne vernünftige Fehlermeldung kommen
und der Debugger markiert die Zeile gelb!
Schau Dir auch mal die On Error Anweisung in der Hilfe an.

Gruss Nancy

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 12. Jan. 2005 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 Demokrat2000 10 Unities + Antwort hilfreich

Nachtrag, was'n dat eigentlich?
Set objBase = RevolvedProduce_1    'setze damit die Bohrung auf der aktuellen Körper drauf
da fehlt entweder objApp oder objDoc davor, oder?

Set objBase = objApp.RevolvedProduce_1

Oder was auch immer der 'Revolver_1' sein mag ..., sicher kein Element von Excel;-)
Übrigens, wozu startest Du das Teil überhaupt aus Excel?

Gruss Nancy       

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

Demokrat2000
Mitglied



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

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 12. Jan. 2005 14:18    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

Weil ich aus Excel heraus eine Parametrsierung von Teilen vornehme.
Deswegen!
Ja ich will mit der Zeile
Set objBase = objApp.RevolvedProduce_1
RevolvedProduce_1 ist ein Feature und ich möchte objBase, den Wert zuweisen bzw. den Link.

MfG

Martin

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 12. Jan. 2005 14:28    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 Demokrat2000 10 Unities + Antwort hilfreich

War das jetzt eine Frage oder eine Feststellung ??? ;;-))

Sorry Martin, aber ich kann zu SE doch auch nix weiter als Raten ...
Gruss Nancy

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

Demokrat2000
Mitglied



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

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 12. Jan. 2005 17:14    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

Hey Nancy
Ich denke mal es war ne Antwort.
Bitte nichts persönlich nehmen.

Sag mal wozu dient eigentlich diese Zeichen in dem nachfolgenden Code.
Set objBase = objDoc.Models.AddFiniteExtrudedProtrusion(NumberOfProfiles:=1, _
ProfileArray:=objBaseProfArray, ProfilePlaneSide:=igSymmetric, ExtrusionDistance:=0.05)
objBaseProfile.Visible = False
:= ?????
Ich weiß,dass man mit Gleichheitszeichen einen Wert übergibt aber mit was macht man einen Wert mit Doppelpunkt und Gleichheitszeichen??

Gruss aus kassel

Martin

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 12. Jan. 2005 18: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 Demokrat2000 10 Unities + Antwort hilfreich

hmm, naja, das schreibt man immer so bei erwarteten Parametern innerhalb einer Methode
Normalerweise kannst das auch weglassen, musste aber die erwartete Reihenfolge unbedingt! einhalten.
Set objBase = objDoc.Models.AddFiniteExtrudedProtrusion(1, objBaseProfArray, igSymmetric, 0.05)
Mal als Bsp einer Inputbox:
Code:

dim a
a = Inputbox(Prompt:="test", Default:="bla")
a = Inputbox(Default:="bla", Prompt:="test") 'geht auch vertauscht
a = Inputbox("test", , "bla") 'dasselbe mal ohne ":="
a = Inputbox("test", "bla") 'hoppla, hier wird bla zum Titel ;-)


Etwas klarer geworden?
Gruss Nancy   

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

Demokrat2000
Mitglied



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

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 13. Jan. 2005 08: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

Hey Nancy,

ja so langsam lichtet sich die Dunkelheit.
Danke nochmal.

Gruss Martin

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

Demokrat2000
Mitglied



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

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 21. Jan. 2005 14:35    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,

ich weiß nicht, wo in meinem Programm das Problem ist. Ich habe es einfach nur kopiert aber mhh ja keine Ahnung,warum es nicht funktioniert.Er steigt immer bei dem Punkt Testfile= warum eigentlich??

Private Sub CommandButton1_Click()
Dim objApp As SolidEdgeFramework.Application
Dim objDoc As SolidEdgePart.PartDocument
Dim objBaseProfile As SolidEdgePart.Profile
Dim objRevProts As SolidEdgePart.RevolvedProtrusions
Dim objBaseProfArray(1 To 2) As SolidEdgePart.Profile
Dim objBase As SolidEdgePart.Model
Dim objRegHoleData As SolidEdgePart.HoleData
Dim objRP As SolidEdgePart.RefPlane
Dim objRegHoleProfile As SolidEdgePart.Profile
Dim objRegHole As SolidEdgePart.Hole
Dim lngHoleType As Long
Dim lngStatus As Long
Dim name(10) As Variant
Dim i As Integer
' Report errors
Dim Testfile As SolidEdgeDocument
Const PI = 3.14159265358979
' Create/get the application with specific settings
On Error GoTo 0

' Open a Testcase

Testfile = "C:\Part1.par"
Set objApp = GetObject(, "SolidEdge.Application")


Gruß Martin

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 21. Jan. 2005 15:28    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 Demokrat2000 10 Unities + Antwort hilfreich

Martin,
Du dimensionierst Testfile as SolidEdgeDocument und übergibst einen String ...
entweder dim Testfile as String, dann isses so okay,
oder aber Du musst die Ojectvariablen mit set = übergeben, also
set Testfile = Getobject ... oder irgendsowas in der Art.

Gruss Nancy     

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

StefanBerlitz
Ehrenmitglied V.I.P. h.c.
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 21. Jan. 2005 15:29    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 Demokrat2000 10 Unities + Antwort hilfreich

Hallo Demokrat,

ohne SOlidEdge zu kennen würde ich folgendes tippen:

Zitat:
Code:

Dim Testfile As SolidEdgeDocument
Const PI = 3.14159265358979
' Create/get the application with specific settings
On Error GoTo 0

' Open a Testcase

Testfile = "C:\Part1.par"



Du deklarierst Testfile als SolidEdgeDocument, ich vermute mal das dürfte ein Objektpointer sein (also Object) und versuchst dem anschließend einen String zuzuweisen, das kann auch nicht gut gehen. Die Fehlermeldung die bei dir kommt wäre in jedem Fall hilfreich 

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite
http://solidworks.cad.de

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

Demokrat2000
Mitglied



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

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 21. Jan. 2005 15:33    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

Hey Stefan,

ich habe Testfile als String deklariert und dann war es gut.

Danke

Martin

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

Demokrat2000
Mitglied



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

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 02. Feb. 2005 16:14    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,

heute mal was anderes, ein Problem.

Ich habe eine Userform.In dieser Userform ist ein Commandbutton eingepflegt.In diesem Commandbutton erscheint bei Aufruf eine Inputbox, dort übergebe ich eine Variablen wert0 einen String
Wert0="b". Mit Hilfe dieser variablen vergleiche ich mehrere Ereignisse.Jetzt wollte ich aber diese Variable auch noch in einem anderen Tabellenbaltt verwenden aber die variable ist leer.ich habe daraufhin versucht, diese Variable als Static zu deklarieren um die Lebensdauer zu erhöhen. Das hat aber nichts gebracht, beim dem Versuch Global wert0 As String zu deklarieren hat mir der Compiler schon die Ohren lang gezogen.
Ich weiß über eine MsgBox am Ende der userform,das die Variable Wert0 mit einem String belegt ist.
Wo ist denn da nur der Fehler??

MfG

Demokrat

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 02. Feb. 2005 16:57    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 Demokrat2000 10 Unities + Antwort hilfreich

Hi Martin,

hast Du Public im 'Private'-Bereich deklariert?

Versuch mal nur Public s as string in einem 'normalen' Modul

Gruss Nancy

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)2025 CAD.de | Impressum | Datenschutz