Hot News aus dem CAD.de-Newsletter:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  
  VBA Benutzerdefinierte Eigenschaften ändern bei geschlossener Datei

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:   VBA Benutzerdefinierte Eigenschaften ändern bei geschlossener Datei (232 mal gelesen)
fabian1243
Mitglied
Maschinen-Konstrukteur


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

Beiträge: 13
Registriert: 28.06.2018

SW Premium 2017 x64-Edition SP3.0
Win 10 Pro v1803

erstellt am: 06. Jul. 2018 11: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


MehrereDateien.png

 
Hallo,

Ich hab mein VBA fast so wie ich es will.
Das Ändern der aktiven Solidworks Datei geht jetzt (Teil und Baugruppe).
Der Browser zum hinzufügen und bereitstellen der Pfade geht auch.
Speichern von Benutzereinstellungen in der Registry läuft auch.

Was fehlt: Von jeder Datei von der der Pfad in der Liste steht, sollen nun die Benutzerdefinierten Eigenschaften ausgelesen und gespeichert werden.
           (Zurzeit ist das nur von der aktiven Dateie möglich)
Hat jemand die passende Befehle gesehen oder weis wie das geht (Bei geschlossenen Dateien! Ansonsten dauert mir das öffnen/schreiben/schießen bei 100en Dateien zu lang!)

[Diese Nachricht wurde von fabian1243 am 06. Jul. 2018 editiert.]

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

nahe
Mitglied



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

Beiträge: 1358
Registriert: 18.01.2001

arbeite mit:
HP Z440 Workstation
Xenon (12-Kern) 3.5GHz
32GB RAM
238GB SSD
------------------------
SWX-2016 SP5.0
DBWorks-R15 SP2.17
----------------
Windows 7 64 bit
----------------
VB
VBA
Lotus Notes Datenbanken
erste Schritte mit Swift

erstellt am: 06. Jul. 2018 11:56    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 fabian1243 10 Unities + Antwort hilfreich

Hallo Fabian,

wie Andreas hier http://ww3.cad.de/foren/ubb/Forum2/HTML/031484.shtml#000002
schon geschrieben hat, wird Dir da wohl nur die "Document Manager API"
weiterhelfen.
Such einfach mal in der Online Hilfe nach "Document Manager API"

------------------
Grüße
Heinz

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

HenryV
Mitglied
Konstrukteur, Engineering


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

Beiträge: 628
Registriert: 18.05.2005

SolidWorks 2016 x64 SP3.0
Dell T3600 Workstation
Intel XENON 6x3.2 GHz
NVIDIA Quadro 4000 2 GB
16GB RAM
2x Dell U2412M, 24" TFT
Windows 7 Professional x64 SP1
Microsoft Office Pro 2010 SP2
Kaspersky Anti-Virus 10.2.4.674
Microsoft VB 2010 Express
SpacePilot von 3Dconnexion

erstellt am: 06. Jul. 2018 11: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 fabian1243 10 Unities + Antwort hilfreich

Hallo

Du kannst deine Dokumente unsichtbar laden, indem du DocumentVisible auf False setzt.

Code:
If FType = "*.sldprt" Then
    swApp.DocumentVisible False, swDocPart
    Set swPart = swApp.OpenDoc(sPath & sFileSW, swDocPart)
    swApp.DocumentVisible True, swDocPart
ElseIf FType = "*.sldasm" Then
    swApp.DocumentVisible False, swDocAssembly
    Set swPart = swApp.OpenDoc(sPath & sFileSW, swDocAssembly)
    swApp.DocumentVisible True, swDocAssembly
End If

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

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

fabian1243
Mitglied
Maschinen-Konstrukteur


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

Beiträge: 13
Registriert: 28.06.2018

SW Premium 2017 x64-Edition SP3.0
Win 10 Pro v1803

erstellt am: 06. Jul. 2018 12:04    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

Zitat:
Original erstellt von nahe:
Hallo Fabian,

wie Andreas hier http://ww3.cad.de/foren/ubb/Forum2/HTML/031484.shtml#000002
schon geschrieben hat, wird Dir da wohl nur die "Document Manager API"
weiterhelfen.
Such einfach mal in der Online Hilfe nach "Document Manager API"


Ja nur da stand irrgendetwas mit nem Schlüssel den man braucht hab das nicht ganz verstanden 

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

bk.sc
Ehrenmitglied V.I.P. h.c.
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: 2057
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: 06. Jul. 2018 12: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 Nur für fabian1243 10 Unities + Antwort hilfreich

Hallo Fabian,

genau diesen Schlüssel kannst du z.B. über deinen Reseller anfordern. Ohne den "Document Manager" geht das nur wie oben schon beschrieben mit unsichtbarem Laden, was aber auch sehr viel schneller geht wie das normale Laden.

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

fabian1243
Mitglied
Maschinen-Konstrukteur


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

Beiträge: 13
Registriert: 28.06.2018

SW Premium 2017 x64-Edition SP3.0
Win 10 Pro v1803

erstellt am: 06. Jul. 2018 14:52    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

Zitat:
Original erstellt von HenryV:
Hallo

Du kannst deine Dokumente unsichtbar laden, indem du DocumentVisible auf False setzt.

Code:
If FType = "*.sldprt" Then
    swApp.DocumentVisible False, swDocPart
    Set swPart = swApp.OpenDoc(sPath & sFileSW, swDocPart)
    swApp.DocumentVisible True, swDocPart
ElseIf FType = "*.sldasm" Then
    swApp.DocumentVisible False, swDocAssembly
    Set swPart = swApp.OpenDoc(sPath & sFileSW, swDocAssembly)
    swApp.DocumentVisible True, swDocAssembly
End If

Gruss Andreas


Hallo, du setzt auf unsichtbar dann öffnest du die Datei und dann machst du sie sichtbar, aber sichtbar will ich sie ja nicht ich will sie bearbeiten und dann schließen?

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

Christian_W
Ehrenmitglied V.I.P. h.c.
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: 2010
Registriert: 04.04.2001

SWX 2016sp5 WIN7-64
proAlpha6.2e/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19) CSWP 12/2015

erstellt am: 06. Jul. 2018 16: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 fabian1243 10 Unities + Antwort hilfreich

Zitat:
... unsichtbar dann öffnest du die Datei und dann machst du sie sichtbar ...

Nein, tut er nicht.

das ist ein Schalter für swApp, nicht für swPart.
damit werden alle danach geöffneten Dateien unsichtbar (bzw. sichtbar) gehalten.
du könntest also vorher und hinterher schalten, wenn dein Kram durch ist.

swapp.documentvisible flase, swDocPart
open part 1 ... do sth ... Close part 1
...
open part 400 ... do sth ... Close part 400
swapp.documentvisible true, swDocPart

aber wenn du es nicht true stellst, kannst du vermutlich keine Teile mehr sichtbar öffnen ... 
absturz vorzeitig wäre wohl nicht so gut.

Gruß, Christian

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

fabian1243
Mitglied
Maschinen-Konstrukteur


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

Beiträge: 13
Registriert: 28.06.2018

SW Premium 2017 x64-Edition SP3.0
Win 10 Pro v1803

erstellt am: 06. Jul. 2018 20:07    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

So hab Das Problem mit dem invisible öffnen gelöst und funktioniert einwandfrei, hab alles ein bisschen zurechtgerückt dann gings.

Wer noch meine Entgültigen Code sehen will:

Code:
        '---Start Mehrere Dateien Speichern
        If Hauptform.Liste.ListCount > 0 And DoppelteCheckbox = False Then 'Dateien ausgewählt?
            For i = 0 To Hauptform.Liste.ListCount - 1
                '---Start Teile
                If VBA.UCase$(VBA.Right$(Hauptform.Liste.List(i, 1), 3)) = "PRT" Then
                    Ob_swApp.DocumentVisible False, swDocPART
                    Set IModel = Ob_swApp.OpenDoc(Hauptform.Liste.List(i, 1), swDocPART)

                End If
                '---Ende Teile
               
                '---Start Baugruppe
                If VBA.UCase$(VBA.Right$(Hauptform.Liste.List(i, 1), 3)) = "ASM" Then
                    Ob_swApp.DocumentVisible False, swDocASSEMBLY
                    Set IModel = Ob_swApp.OpenDoc(Hauptform.Liste.List(i, 1), swDocASSEMBLY)

                End If
                '---Ende Baugruppe
               
                '---Start Fixe Daten die in der ComboBox stehen eintragen
                For j = 1 To In_Max
                    If Hauptform.Controls("BoxMerken" & j).Value = True Then
                        EigenschaftenErstellen (j)
                        EigenschaftenSpeichern (j)
                    End If
                Next j
                '---Ende Fixe Daten die in der ComboBox stehen eintragen
               
                '---Start Vorschläge eintragen
                For j = 1 To In_Max
                    If Hauptform.Controls("Boxvorschlag" & j).Value = True Then
                        EigenschaftAuslesen (j)
                        EigenschaftVorschlagen (j)
                        EigenschaftenErstellen (j)
                        EigenschaftenSpeichern (j)
                    End If
                Next j
                '---Ende Vorschläge eintragen
               
                IModel.Save
            Next i
            Ob_swApp.DocumentVisible True, swDocASSEMBLY
            Ob_swApp.DocumentVisible True, swDocPART
            Set IModel = Ob_swApp.ActiveDoc

        Else
            If Not Hauptform.Liste.ListCount > 0 Then
                MsgBox "Keine Dateien ausgewählt!", vbInformation
            End If
        End If
        '---Ende Mehrere Dateien Speichern

[Diese Nachricht wurde von fabian1243 am 06. Jul. 2018 editiert.]

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