Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  GetCurrentSheet bring nur Fehler 438 :-(

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 SOLIDWORKS
  
Innovationstag mit SolidCAM und Plogmann bei HEDELIUS in Meppen
Autor Thema:  GetCurrentSheet bring nur Fehler 438 :-( (1938 mal gelesen)
koehlerax
Mitglied
Systemadmin


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

Beiträge: 25
Registriert: 11.11.2002

Dell Precision 350 (P4 3,06GHz HT aktiv)
PNY FX5900Ultra 256MB
RAM 1GB
HD IDE 80GB
WinXP SP1
SWX 2001Plus SP4.1
Netz 100MBit

erstellt am: 14. Mrz. 2003 11:08    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

Also ich bekomme das mit der aktuellen Blattnummer einfach nicht hin. Schon der Befehl "GetCurrentSheet" bringt nur Fehler und ich weiss echt nicht wieso? :-(

So sieht es aus:

Set swApp = CreateObject("SldWorks.Application")
Set PartActive = swApp.ActiveDoc

MsgBox PartActive.GetCurrentSheet()

Dann kommt der Fehler:

Laufzeitfehler '438'
Objekt unterstüzt diese Eigenschaft oder Methode nicht

Eigentlich hatte ich ja die aktuelle Blattnummer erwartet so wie man auch bei:

MsgBox PartActive.GetSheetCount()

die Gesamtzahl an Seiten bekommt.

Gruß KoehlerAx

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

StefanBerlitz
Guter-Geist-Moderator
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: 14. Mrz. 2003 12:59    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 koehlerax 10 Unities + Antwort hilfreich

Hallo KoehlerAx,

ich verstehe nicht genau, was du möchtest (ich meine, ich verstehe nicht, was du unter Blattnummer meinst  ).

Aber warum du den Fehler bekommst kann ich dir erklären: mit GetCurrentSheet bekommst du als Rückgabewert ein Objekt (genauer einen Objektpointer), MsgBox braucht als Parameter aber einen String.
Das du etwas anderes (nämlich ein Zahl?) erwartet hast wundert mich etwas, in der APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface) Hilfe steht das genau so drin ...

Ich hoffe zumindest schon mal die Fehlermeldung aufgeklärt zu haben, vielleicht kann ich noch weiter helfen, wenn ich verstehe, was du mit Blattnummer meinst.

Ciao,
Stefan

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

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

koehlerax
Mitglied
Systemadmin


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

Beiträge: 25
Registriert: 11.11.2002

Dell Precision 350 (P4 3,06GHz HT aktiv)
PNY FX5900Ultra 256MB
RAM 1GB
HD IDE 80GB
WinXP SP1
SWX 2001Plus SP4.1
Netz 100MBit

erstellt am: 14. Mrz. 2003 13:03    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

Ja OK ich habe das auch gelesen in der APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface) Hilfe.
Aber wie bekomme ich denn das was ich im SWXSolidWorks mit dieser Zeile machen kann im VB hin?

$PRP:"SW-Aktuelles Blatt(Current Sheet)"

Also einfach welches Blatt im Moment aktiv ist (bei einem mehrblättrigen Drawing)

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

Thomas Rolf
Mitglied
Dipl.-Ing. / CAD-Admin


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

Beiträge: 189
Registriert: 02.07.2001

SWX 2015 SP4.0

erstellt am: 14. Mrz. 2003 13: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 koehlerax 10 Unities + Antwort hilfreich

Hallo KoehlerAx;

Getcurrentsheet gibt einen Verweis auf das Sheet-Objekt zurück.
Ein Objekt kann aber mit einem Msgbox... nicht ausgegeben werden.

Versuch doch mal:

Set swApp = CreateObject("SldWorks.Application")
Set PartActive = swApp.ActiveDoc
MsgBox PartActive.GetCurrentSheet.getname

Vielleicht bringt das das gewünschte Ergebnis.

Gruß
Thomas

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

StefanBerlitz
Guter-Geist-Moderator
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: 14. Mrz. 2003 13:21    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 koehlerax 10 Unities + Antwort hilfreich

Hallo KoehlerAx,

ah ja, jetzt verstehe ich was du meinst. Das ist etwas komplizierter, dafür gibt es AFAIK keine direkte Abfrage. Du musst wie Thomas gezeigt hat den Namen des Blattes holen und merken, dann über alle Blattnamen drüberlaufen und mitzählen, wann du das Blatt erwischt hast, dass genauso heißt wie dein aktives Blatt.

Das sieht dann so aus:

Code:

Sub main()

    Dim swApp As Object
    Dim DrawingDoc As Object
    Dim SheetCount As Long
    Dim SheetNames As Variant
    Dim ActiveSheetName As String
    Dim i, BlattNummer As Long
   
    Set swApp = CreateObject("SldWorks.Application")
    Set DrawingDoc = swApp.ActiveDoc
   
    SheetCount = DrawingDoc.GetSheetCount
    SheetNames = DrawingDoc.GetSheetNames
    ActiveSheetName = DrawingDoc.GetCurrentSheet.GetName
   
    For i = 1 To SheetCount
        If SheetNames(i - 1) = ActiveSheetName Then BlattNummer = i
    Next i

    MsgBox BlattNummer

End Sub


Ciao,
Stefan

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

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

koehlerax
Mitglied
Systemadmin


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

Beiträge: 25
Registriert: 11.11.2002

Dell Precision 350 (P4 3,06GHz HT aktiv)
PNY FX5900Ultra 256MB
RAM 1GB
HD IDE 80GB
WinXP SP1
SWX 2001Plus SP4.1
Netz 100MBit

erstellt am: 14. Mrz. 2003 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

Mensch Stefan du bist halt einfach der Beste.

Vieeeeelen Dank und ein schönes Wochenende!
  KoehlerAx

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