Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Right Funktion

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
Autor Thema:   Right Funktion (353 mal gelesen)
Nobody1976
Mitglied



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

Beiträge: 18
Registriert: 20.05.2014

SWX 2013 SP5.0
SWX 2016 SP5.0

erstellt am: 17. Mrz. 2017 08: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


AktiveErweiterungen1.JPG


AktiveErweiterungen2.JPG

 
Hallo Forum
Ich habe von SWX 2013 auf SWX 2016 umgestellt.
Für diverse Dateneingaben nutze ich Makros.

Folgeder Code leuft in SWX 2013 einwandfrei und macht bei SWX2016 ärger

Sub ArtPruefung()

Dim Art_richtig As Boolean
Dim Pfad_ArtPruefung As String

Art_richtig = False

Pfad_ArtPruefung = Right(Part.GetPathName, 6)

Pfad_ArtPruefung = LCase(Pfad_ArtPruefung)

If Pfad_ArtPruefung = "sldprt" Then
    Art_richtig = True
End If

If Pfad_ArtPruefung = "sldasm" Then
  Art_richtig = True
End If

If Pfad_ArtPruefung = "sldlfp" Then
  Art_richtig = True
End If
 
If Art_richtig = False Then
    MsgBox "Sie sind in keinem Teil oder in einer Baugruppe!" & vbCrLf & "Bitte in eine entsprechende Datei wechseln und Makro neu ausführen!" & vbCrLf & vbCrLf & "Das Makro wird jetzt beendet.", vbInformation + vbOKOnly, "Dateityp falsch"
    End
End If

Dateiart = Pfad_ArtPruefung

End Sub

Fehlermeldung ist Fehler beim Kompilieren: Erwarte: Datenfeld und das Right ist angeleuchtet.

Die aktiven Erweiterungen habe ich in den beiden Bildern hinterlegt.

Danke für eure Hilfe
Udo

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

Christoph Weise
Mitglied
Technischer Produktdesigner /Konstruktion


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

Beiträge: 82
Registriert: 22.03.2015

DELL Precision T3610
Intel Xenon E5-1650
16 GB RAM
AMD FirePro W7100 8GB
Win 7 64-bit
SolidWorks 2016

erstellt am: 17. Mrz. 2017 09:15    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 Nobody1976 10 Unities + Antwort hilfreich

Hallo Udo,

So wie ich das sehe willst du mit dem Programmcode feststellen ob dir eine Zeichnung , Baugruppe oder ein Teil vorliegt.
Wiso machst du es so kompliziert über die Dateiendung
Hier ein Beispiel aus der VBA Hilfe:

Code:
Dim instance As IModelDoc2
Dim value As System.Integer

value = instance.GetType()

Die Einzelnen Typen sind diese:
swDocASSEMBLY 2
swDocDRAWING 3
swDocLAYOUT 5
swDocNONE 0
swDocPART 1
swDocSDM 4

so kannst du ganz einfach das Format auslesen.

------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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

Beiträge: 1667
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 17. Mrz. 2017 09:54    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 Nobody1976 10 Unities + Antwort hilfreich

Hallo Udo,

ich finde auch Chrisophs Variante besser aber nun zu deinem Problem, für mich sieht es so aus als fehlt bei dir der Verweis auf "SolidWorks 2016 Extensibility Type Library".
Falls du auf Christophs Variante umstellen willst als Tip, Bibliotheksfeature (sldlfp) geben auch den Wert 1 (swDocPART) zurück.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Nobody1976
Mitglied



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

Beiträge: 18
Registriert: 20.05.2014

SWX 2013 SP5.0
SWX 2016 SP5.0

erstellt am: 17. Mrz. 2017 10: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

Tach.

Vielen Dank für die Info.
Habe ich hinbekommen.

Jedoch benutze ich den Right Befehl öffters.
Und das Problem hat sich nur verschoben.
Irgendwie gibt es Proble mit dem Befehl.
Die vorgeschlagene Erweiterung habe ich aktiviert.

Gruß Udo

[Diese Nachricht wurde von Nobody1976 am 17. Mrz. 2017 editiert.]

[Diese Nachricht wurde von Nobody1976 am 17. Mrz. 2017 editiert.]

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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

Beiträge: 1667
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 17. Mrz. 2017 11:43    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 Nobody1976 10 Unities + Antwort hilfreich

Hallo Udo,

bei mir ist auch der Verweis "Visual Basic for Applications" aktiv, kann jetzt nur nicht sagen ob dieser Pflicht ist, auf alle Fälle kann ich den nicht abwählen (auch bei late binding nicht).

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


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

Beiträge: 450
Registriert: 17.01.2007

SWX 2015 SP5
AutoCAD 2015
Win 8.1 64 bit
Intel Xeon 3,2GHz
16GB RAM
Nvidia Quadro K2200
SWx EPDM

erstellt am: 17. Mrz. 2017 12:16    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 Nobody1976 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Nobody1976:
Pfad_ArtPruefung = Right(Part.GetPathName, 6)

Auch wenn du jetzt schon eine Lösung hast, kannst du es ja spaßeshalber mal mit

Code:

Pfad_ArtPruefung = mid(Part.GetPathName, len(Part.GetPathName)-5)

Da sollte theoretisch das gleiche rauskommen.

Gruß, Jens

------------------
CSWA, CSWP, CSWPA-SM =)

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

Christian_W
Ehrenmitglied
Konstrukteur (Dipl-Ing)


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

Beiträge: 1737
Registriert: 04.04.2001

(SWX 2016)
SWX 2012sp5 WIN7-64
proAlpha6.1d05/calinkV8
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)<P>CSWP 12/2015

erstellt am: 17. Mrz. 2017 14: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 Nobody1976 10 Unities + Antwort hilfreich

Zitat:
... auch der Verweis "Visual Basic for Applications" aktiv, ... kann ich den nicht abwählen ...

ist bei mir auch so ;)

außerdem hab ich mal irgendwo den Tip gelesen, dass man es auch aufrufen kann als

Code:
string2 = VBA.right(string1, len)

funktioniert das bei dir?

und ist dein String1 richtig?

Gruß, Christian

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

Nobody1976
Mitglied



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

Beiträge: 18
Registriert: 20.05.2014

SWX 2013 SP5.0
SWX 2016 SP5.0

erstellt am: 17. Mrz. 2017 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

Tach,

danke an alle.
Habe das Probelm gelöst.
Es waren zu viele Einträge aktiv.
Den Eintag poste ich am Montag da ich momemtan nicht auf die Einstellungen zugreifen kann.

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)2017 CAD.de