Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Aktuelle Sheet einer Drawing ermitteln

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:  Aktuelle Sheet einer Drawing ermitteln (2760 mal gelesen)
sa2728
Mitglied



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

Beiträge: 79
Registriert: 06.06.2003

erstellt am: 20. Mai. 2009 15: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.

mit den Zeilen:

Dim AktuelleDrawing 'As DrawingDocument
Set AktuelleDrawing = CATIA.ActiveDocument
MsgBox (AktuelleDrawing.Sheets.count)

erhalte ich die Anzahl der Blätter der geöffneten Drawing.

Wie kriege ich jetzt raus, welche Nummer das gerade aktive Blatt hat?
Ich dachte es müsste so gehen, aber es funktioniert nicht:

Set AktivesBlatt = As DrawingSheet
Set AktivesBlatt = AktuelleDrawing.ActiveSheet
MsgBox (AktuelleDrawing.Sheets.AktivesBlatt)

Kann mir da jemand weiterhelfen?

Danke.

Gruss Andreas

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 20. Mai. 2009 16:47    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 sa2728 10 Unities + Antwort hilfreich

Hallo Andreas,

du hast eine Collection übersprungen. Dir fehlt die Sheets-Collection in der sich die Methode ActiveSheet befindet. So funktioniert es:

Code:

Dim oDoc as DrawingDocument
Dim oSheets as DrawingSheets
Dim oSheet as DrawingSheet

Set oDoc = CATIA.ActiveDocument
Set oSheets = oDoc.Sheets
Set oSheet = oSheets.ActiveSheet

MsgBox(oSheet)


------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

sa2728
Mitglied



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

Beiträge: 79
Registriert: 06.06.2003

erstellt am: 25. Mai. 2009 15:47    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,

jetzt wirds immer verrückter:

Das Script:
-----------------------------------------
Language="VBSCRIPT"

Sub CATMain()
Dim AktuelleDrawing 'As DrawingDocument
Set AktuelleDrawing = CATIA.ActiveDocument
MsgBox (AktuelleDrawing.Sheets.count)
end sub
---------------------------------------------

funktioniert, aber nur wenn ich das Kommentarzeichen
in der DIM Zeile habe, sonst kommt eine Fehlermeldung
"Anweisungsende in Spalte 20 erwartet",
also genau nach dem Dim AktuelleDrawing

Genau das gleiche mit Daniels Scriptauszug
-----------------------------------------
Language="VBSCRIPT"

Sub CATMain()

Dim oDoc    As DrawingDocument
Dim oSheets As DrawingSheets
Dim oSheet As DrawingSheet

Set oDoc = CATIA.ActiveDocument
Set oSheets = oDoc.Sheets
Set oSheet = oSheets.ActiveSheet
MsgBox(oSheet)
end sub
----------------------------------------------

Da bringt es aber nichts wenn ich vor dem as ... auskommentiere.

Kann mir jemand sagen wo da mein Denkfehler liegt?

Andreas


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


Ex-Mitglied



Sehen Sie sich das Profil von  an!

Beiträge: 4755
Registriert: 27.09.2000

Dell precision M4300, 4GB Arbeitsspeicher
NVidia FX360M
Windows XP professional SP3
CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4
Adobe Acrobat 8
Linux: Ubuntu 8.04LTS

erstellt am: 25. Mai. 2009 20: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 Nur für sa2728 10 Unities + Antwort hilfreich

Du schreibst deinen Code in VBA und läßt ihn als CATVBS laufen...

------------------
Meine Firma  |  Website zum Buch |Technisches Zeichnen mit CATIA V5 | Mein CATIA-Blog

Wie stelle ich meine Fragen richtig?

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 26. Mai. 2009 06: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 Nur für sa2728 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von CEROG:
Du schreibst deinen Code in VBA und läßt ihn als CATVBS laufen...


...und VBS deklariert sich die Variabkentypen selber. Man brauchst deshalb keine DIM Anweisungen.

Mit diesem Code sollte deine CATVbs auch laufen:

Code:

Language="VBSCRIPT"

Sub CATMain()

' Dim oDoc As DrawingDocument (KOMPLETTE Zeile auskommentieren oder löschen!)
' Dim oSheets As DrawingSheets (KOMPLETTE Zeile auskommentieren oder löschen!)
' Dim oSheet As DrawingSheet (KOMPLETTE Zeile auskommentieren oder löschen!)

Set oDoc = CATIA.ActiveDocument
Set oSheets = oDoc.Sheets
Set oSheet = oSheets.ActiveSheet
MsgBox(oSheet)
end sub


------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

   

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

sa2728
Mitglied



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

Beiträge: 79
Registriert: 06.06.2003

erstellt am: 26. Mai. 2009 08:20    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 Daniel,

mit den DIMs hatte ich gestern auch schon probiert sie wegzulassen.
Wenn ich das mache, kommt eine Fehlermeldung das die Eigenschaft/Methode nicht unterstützt wird
und zwar in der Zeile "MsgBox(oSheet)"

Gruss Andreas

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 26. Mai. 2009 08: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 Nur für sa2728 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von sa2728:
Hallo Daniel,

mit den DIMs hatte ich gestern auch schon probiert sie wegzulassen.
Wenn ich das mache, kommt eine Fehlermeldung das die Eigenschaft/Methode nicht unterstützt wird
und zwar in der Zeile "MsgBox(oSheet)"

Gruss Andreas


Hallo Andreas,

das ganze ist ja auch nur ein Beispiel. oSheet ist in diesem Beispiel eine Variable die als DrawingSheet deklariert ist. Eine MessageBox ewartet einen String-Typ (bzw. einen Variablentyp der in ein String umgewandelt werden aknn z.B. Integer) und keinen DrawingSheet Typ. Ich habe gerade weder CATIA noch VB am laufen aber ich versuch dir mal dein Makro hinzubasteln.

Hier der Code (natürlich nicht getestet):

Code:

Language="VBSCRIPT"

Sub CATMain()

' Dim oDoc As DrawingDocument (KOMPLETTE Zeile auskommentieren oder löschen!)
' Dim oSheets As DrawingSheets (KOMPLETTE Zeile auskommentieren oder löschen!)
' Dim oSheet As DrawingSheet (KOMPLETTE Zeile auskommentieren oder löschen!)

Set oDoc = CATIA.ActiveDocument
Set oSheets = oDoc.Sheets
Set oSheet = oSheets.ActiveSheet
Set mySheetName = oSheet.Name
For i = 1 to oSheets.Count
Set myCheckSheet = oSheets.Item(i)
If myCheckSheet.Name = mySheetName then
BoxValue = i
Exit For
End If
Next

Box = MsgBox("Das aktuelle Blatt ist an Position " & BoxValue,vbInformation,"Hinweis")
End sub


------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

MICHLICK
Mitglied
CAD Methodik Entwickler (CATIA; NX)


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

Beiträge: 454
Registriert: 20.06.2001

Der Aufwand bei Änderungen ist groß, wenn die Finger schneller klicken als das Gehirn denkt.

erstellt am: 28. Mai. 2009 08: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 sa2728 10 Unities + Antwort hilfreich

Hallo Andreas,

wenn Du in Deinem Makro
MsgBox oSheet.Name
schreibst, dann sollte das funktionieren.


------------------
Gruß Michael B.

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

sa2728
Mitglied



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

Beiträge: 79
Registriert: 06.06.2003

erstellt am: 28. Mai. 2009 14:37    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 MICHLICK,

vielen Dank, so klappt es, nur leider wird statt einer Ziffer "Blatt 1"  ... ausgegeben, aber das ist ja nicht so schlimm.

Gruss Andreas

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


Ex-Mitglied



Sehen Sie sich das Profil von  an!

Beiträge: 4755
Registriert: 27.09.2000

Dell precision M4300, 4GB Arbeitsspeicher
NVidia FX360M
Windows XP professional SP3
CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4
Adobe Acrobat 8
Linux: Ubuntu 8.04LTS

erstellt am: 29. Mai. 2009 09:27    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 sa2728 10 Unities + Antwort hilfreich

"Blatt.1" ist ja auch der Name. Versuch es mal mit Sheet.Item

------------------
Meine Firma  |  Website zum Buch |Technisches Zeichnen mit CATIA V5 | Mein CATIA-Blog

Wie stelle ich meine Fragen richtig?

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