Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  E3.series
  Seiten neu nummerieren in Anlagen!

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:  Seiten neu nummerieren in Anlagen! (627 mal gelesen)
HansThomas
Mitglied


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

Beiträge: 1
Registriert: 06.03.2008

erstellt am: 06. Mrz. 2008 10: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

Hallo Forum, Hallo e3 User,

Unser Pläne sind Anlagen Sortiert.

Ich habe mir das Script in diesem Beitrag angeschaut. http://ww3.cad.de/foren/ubb/Forum331/HTML/000159.shtml#000006

Wäre es möglich das man dies so umbaut, das es in den einzelnen Anlagen
die Blätter neu durchnummeriert.

Leider habe ich nicht viel Erfahrung in VBS.

------------------
Gruß
Hans

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

spector
Mitglied
Elektrokonstrukteur

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

Beiträge: 3
Registriert: 19.05.2005

logocad triga
E3.series
solid edge V19

erstellt am: 10. Mrz. 2008 15:26    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 HansThomas 10 Unities + Antwort hilfreich

Ahoi,

Haben so ein Script bei uns im Einsatz, da wir auch Anlagen separat nummerieren. Der Lösungsansatz ist der, dass wir dafür einen neuen Texttyp erstellt haben (in unserem Fall 669), dieser wurde in unseren Blattkopf eingetragem und bei der Ausführung des Scripts entsprechend befüllt wird. Haben das Script als Werkzeug definiert und führen es bei Bedarf aus. Haben das Script irgendwann mal von CIM-Team erhalten und für unseren Bedarf geringfügig angepasst.

Grüsse Spector

**************************************************************************************************
' Beschreibung: Erstellt die Nummerierung Anlagenweise mit Verwendung eines vorher zu definierenden Texttyps
'
'
' Änderungen:
' 15.07.2003 CIM-Team Initial Version
'      30.03.2004 CIM-Team    Documenttype
' - EOH -

Set db      = CreateObject("ADODB.Connection")
Set WshShell = CreateObject("Wscript.Shell")
Set App      = CreateObject("CT.Application")
Set Job      = App.CreateJobObject
Set Sht      = Job.CreateSheetObject
Set Txt      = Job.CreateTextObject

' *******************
TextTypeSumm = 669 ' Texttyp in welchen die Summe der Blätter pro Anlage geschrieben wird / muss definiert werden und in Blattkopf eingetragen werden
' *******************


If Job.GetId = 0 Then ' Check ob ein Projekt geöffnet ist
WshShell.run message & " Kein_Projekt"
WScript.quit
End If

nShts = Job.GetSheetIds (ShtIds)         ' get sheet ids
If nShts = 0 Then ' wenn Anzahl Blätter gleich 0
WshShell.run message & " Keine_Blaetter" ' Meldung keine Blätter
        WScript.quit
End If

Set ExistingAss = CreateObject("Scripting.Dictionary")

For i = 1 To nShts ' Zählt die Anzahl Blätter pro Anlage (Higher Level Assignment)
Sht.SetId ShtIds(i)
Assignment = Sht.GetAssignment

If ExistingAss.exists (Assignment) Then
num = ExistingAss.item (Assignment)
num = num + 1
Else
num = 1
End If
ExistingAss.item (Assignment) = num
Next

For i = 1 To nShts ' Fügt die Anzahl Blätter in den Blattkopf ein
Sht.SetId ShtIds(i)
nTxts = Sht.GetTextIds (TxtIds)

For j = 1 To nTxts
Txt.SetId TxtIds(j)
If Txt.GetType = TextTypeSumm Then
Txt.SetText ExistingAss.item (Sht.GetAssignment)


Exit For
End If
Next
Next

App.PutInfo 1, "Blattanzahl pro Anlagenkennzeichen eingetragen."

WScript.quit

***********************************************************************************

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

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

Renz
Mitglied
Dipl.-Ing.

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

Beiträge: 1
Registriert: 13.04.2007

erstellt am: 12. Mrz. 2008 20: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 Nur für HansThomas 10 Unities + Antwort hilfreich


SheetRenumber_01.zip

 
Hallo,
das VBS von spector ermittelt die Gesamtblattanzahl pro Anlage und schreibt diese in einen Texttyp. Wenn ich die Frage von HansThomas richtig interpretiert habe passt folgendes VBS besser.

Gruß
Dominik

'                        CIM-BASE Gmbh Consulting und Engineering
' --------------------------------------------------------------------------------------
'
' BESCHREIBUNG
' Nummeriert die Blätter innerhalb von Anlagen.
'
'
' ÄNDERUNGSHOISTROY
' 2008-03-12 DR 01 Skript erstellt
' -EOH-

Option Explicit

Dim SCRIPT_NAME, SCRIPT_VERSION
SCRIPT_NAME = "SheetRenumber"
SCRIPT_VERSION = "01"

Dim E3, Prj, Dev, Con, Sht, Sym, Cor, Pin, Seg, Att, Txt, Fld
Dim ShtIds, sh
Dim ShtAssignment
Dim ShtNum
Dim Assignments, a
Dim ExistingAss
Dim NO_INCREMENT, NO_START

NO_INCREMENT = 1 'Schrittweite
NO_START = 1 'Erster Blattname

Set E3 = CreateObject("Ct.Application")
If E3 Is Nothing Then
MsgBox "E³.series konnte nicht gestarte werden", vbCritical, SCRIPT_NAME
WScript.Quit
Else
Set Prj = CreateObject("Ct.Job")
Set Sht = CreateObject("Ct.Sheet")

Set ExistingAss = CreateObject("Scripting.Dictionary")

E3.AvoidAutomaticClosing 1
End If

E3.Display
E3.ClearOutputWindow
E3.PutInfo 0, now & " Script '" & SCRIPT_NAME & "' Version " & SCRIPT_VERSION & " gestartet"


If Prj.GetId = 0 Then 'Kein Projekt geöffnet
E3.PutError 1, "Es ist kein Projekt geöffnet!"
Else 'Konvertieren
E3.PutMessage "Projekt: " & Prj.GetName

Prj.GetSheetIds ShtIds
For sh = 1 To UBound(ShtIds)
Sht.SetId ShtIds(sh)
ShtAssignment = Sht.GetAssignment
If ExistingAss.exists (ShtAssignment) Then
ShtNum = ExistingAss.item (ShtAssignment)
ShtNum = ShtNum + 1
Else
ShtNum = 1
End If
ExistingAss.item (ShtAssignment) = ShtNum
Next 'For sh = 1 To UBound(ShtIds)

Assignments = ExistingAss.Keys
For a = 0 To UBound(Assignments)
ShtNum = NO_START
For sh = 1 To UBound(ShtIds)
Sht.SetId ShtIds(sh)
If Sht.GetAssignment = Assignments(a) Then
Sht.SetName ShtNum
ShtNum = ShtNum + NO_INCREMENT
End If
Next 'For sh = 1 To UBound(ShtIds)
Next 'For a = 0 To UBound(Assignments)
End If 'If Prj.GetId = 0 Then

E3.PutInfo 1, now & " Script '" & SCRIPT_NAME & "' Version " & SCRIPT_VERSION & " beendet"

Set Prj = Nothing
Set E3 = Nothing

[Diese Nachricht wurde von Renz am 12. Mrz. 2008 editiert.]

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

Rolf K.
Ehrenmitglied
CAD-Konstrukteur


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

Beiträge: 1729
Registriert: 10.12.2002

ELCAD 2020 SP2
e3.2021
Windows 10
zuhause:
Paintshop Pro 2022
Cray XT4
Privileg SR 12 PR
Chivers Lemon Jelly

erstellt am: 13. Mrz. 2008 22: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 HansThomas 10 Unities + Antwort hilfreich

Hallo Dominik,

einwandfrei. Der Script funktioniert.

------------------
Es grüsst
Rolf K.

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