Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Solidworks makro fur die name

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
  
On-Demand-Webinare zu SolidCAM (SolidCAM)
Autor Thema:  Solidworks makro fur die name (1846 mal gelesen)
tidennis
Mitglied


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

Beiträge: 2
Registriert: 25.01.2006

erstellt am: 25. Jan. 2006 10: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


macroflaw.jpg

 
Ich habe eine makro gemacht fur das verandern von die name (part, assembly und drawing name). Aber nur habe ich eine problem.
Das makro arbeitet bei mir, aber wenn ich das makro probiere auf ein anderes computer dann nicht.
When ich das makro offen auf ein ander denn geht sie gleich nach vb und gibt ein fallt.

Compile error:
Can't find project or library.

Herunter sehen sie die commando's wie ich habe gebraucht fur Modules.
Und was ich mit *** habe angegeben gibt das programm an als eine fallt.

Public swModelArr()            As SldWorks.ModelDoc2
Sub main()

    Dim swApp                  As SldWorks.SldWorks
    Dim swModel                As SldWorks.ModelDoc2
    Dim i                      As Integer
    Dim docName                As String
    Dim docType                As String
    Set swApp = Application.SldWorks
    Set swModel = swApp.GetFirstDocument
    ReDim swModelArr(0)
    Do While Not swModel Is Nothing
        Set swModelArr(UBound(swModelArr)) = swModel
        ReDim Preserve swModelArr(UBound(swModelArr) + 1)
        Set swModel = swModel.GetNext
    Loop
    If UBound(swModelArr) Then
        ReDim Preserve swModelArr(UBound(swModelArr) - 1)
        For i = 0 To UBound(swModelArr)
            docName = swModelArr(i).GetPathName
            docName = ***Mid***(docName, InStrRev(docName, "\") + 1)
            docType = Mid(docName, InStrRev(docName, ".") + 1)
            docName = Left(docName, InStrRev(docName, ".") - 1)

            UserForm1.grid.AddItem vbTab & docName
            UserForm1.grid.Row = i + 1
            UserForm1.grid.Col = 0
            UserForm1.grid.CellPictureAlignment = 4
            If LCase(docType) = "sldprt" Then Set UserForm1.grid.CellPicture = UserForm1.partImage.Picture
            If LCase(docType) = "sldasm" Then Set UserForm1.grid.CellPicture = UserForm1.assemblyImage.Picture
            If LCase(docType) = "slddrw" Then Set UserForm1.grid.CellPicture = UserForm1.drawingImage.Picture
            UserForm1.grid.Col = 1
            UserForm1.grid.CellAlignment = 1
            UserForm1.grid.Col = 2
            UserForm1.grid.CellAlignment = 1
        Next
            UserForm1.grid.ColWidth(0) = 725
            UserForm1.grid.ColWidth(1) = 3125
            UserForm1.grid.ColWidth(2) = 3125
            UserForm1.grid.Col = 0
            UserForm1.grid.Row = 0
            UserForm1.grid.CellAlignment = 4
            UserForm1.grid.text = "Type"
            UserForm1.grid.Col = 1
            UserForm1.grid.CellAlignment = 4
            UserForm1.grid.text = "Current Name"
            UserForm1.grid.Col = 2
            UserForm1.grid.CellAlignment = 4
            UserForm1.grid.text = "New Name"
           
            UserForm1.MaskEdBox1.Visible = False
            UserForm1.Show
    Else
        MsgBox "There are no documents open."
    End If
End Sub

Ich hoffe das sie mir weiter konnen helfen.

Enschuldigung fur meine deutsch

Grussen Dennis

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 25. Jan. 2006 11:13    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 tidennis 10 Unities + Antwort hilfreich

docName = ***Mid***(docName, InStrRev(docName, "\") + 1)

Klicke in VBA auf Extras - References (Verweise) und schau mal ob dort alle vorhanden sind die auf deinem Rechner sind.
ansonsten ändere mid(.....) durch mid$(....)

Gruß

------------------
http://classicvb.org/petition/

 

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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: 25. Jan. 2006 11: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 Nur für tidennis 10 Unities + Antwort hilfreich


makro-verweise.gif

 
Hallo Dennis,

und willkommen im SolidWorks Brett auf CAD.de 

Wenn ich deinen Screenshot richtig gesehen habe kommt ein Compile error, dass er ein Objekt oder Modul nicht findet, und zwar bei einem Befehl (hier Mid$).

Grund: auf den Rechnern, wo das nicht installiert ist, ist eine aktuelle Version von SolidWorks wie bei dir nicht drauf.

Lange Erklärung: du hast bei dir ein Makro entwickelt, u.U. über Extras/Makro/Neu oder durch Kopieren eines anderen Makros. SolidWorks trägt bei den Projktverweise ungefragt eine Referenz auf die SolidWorks 2006 Type Library (oder eben die der 2005, eben passend), oder du hast die, um das Early binding zu nutzen, selbst eingetragen.

Neben diesem Verweis sind noch andere Verweise standardmäßig aktiv, unter anderem der zu der VBA Runtime Library.

Nun zur eigentlichen Ursache: wenn in deinem Projekt irgendein Befehl aufgerufen wird, den der Interpreter so nicht kennt klappert er die Verweise ab. Der Befehl Mid$() kommt tatsächlich aus der VBA Runtime, also aus einem der Verweise. Das Dumme ist jetzt, dass dabei vom Interpreter direkt alle Verweise kontrolliert werden, ob die gültig sind. Wenn jetzt also z.B. ein Verweis auf die SolidWorks 2006 Type Library im Makro ist, an dem Rechner aber keine 2006 installiert ist, kommt genau diese Fehlermeldung, weil der VBA-Editor nicht alle Verweise findet!

Ob es daran liegt kannst du auf den Rechnern kontrollieren, wo es nicht läuft: öffne das makro im Editor und schau unter Extras/Verweise (im Englischen ist das Tools/References) nach, ob bei allen angehakten Verweisen auch alles okay ist oder irgendwo steht "nicht gefunden"

Ob die Abhilfe einfach ist kommt auf dein Makro an: wenn der Verweis tatsächlich nicht gebraucht wird einfach den Haken entfernen und gut ist. Brauchst du den Verweis (wenn er gebraucht wird lässt sich der Haken nicht wegnehmen) wird es schwieriger, du musst entweder diesen Verweise auf dem Zielrechner auch installieren oder dein Makro umbauen.

Ich persönlich bevorzuge den zweiten Weg, damit ich unabhängig von der SolidWorks Version meine Makros schreiben kann nutze ich das sogenannte Late Binding, also keine Verweise, und auch nur allgemeine Deklaration mit as Object

Ich hoffe, du konntest mein Beschreibung verstehen (schreiben scheint für dich ja kein großes Problem zu sein  ), falls nicht schreib ich dir auch gerne noch ein Kurzfassung in englisch 

Ciao,
Stefan

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

Member of CAD.de BOINC Team  -  | Seti@Home | CPDN | Einstein@Home

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

Jelmer
Mitglied
zeichner

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

Beiträge: 3
Registriert: 26.01.2006

erstellt am: 26. Jan. 2006 10: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 tidennis 10 Unities + Antwort hilfreich


Image2.jpg

 
Hallo Leute,

Danke für ihre hilfe bei dieses Problem

Dennis hat mich gerade gezeigt dat seine Macro auf seine Rechner gut functioniert. Leider auf meine rechner functioniert es immer noch nicht. Ich habe die letzten service packs installiert und die verweise controliert. Alles ist jetzt genau so wie auf Dennis' rechner. Ich habe kein Verstand von VB. Aber jetzt is da ein 'compile error' auf eine andere stelle. Möglicherweise weiß jemand was zu tun.

(Und wo finde ich ein online Kurs in die Deutsche sprache?  )

[Diese Nachricht wurde von Jelmer am 26. Jan. 2006 editiert.]

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 26. Jan. 2006 10:23    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 tidennis 10 Unities + Antwort hilfreich

Hi,
Die Masked Box ist keine default Komponente innerhalb von SolidWorks VBA.

Öffne das Makro und drückt strg + T (ctrl +T) oder einfügen -> Komonenten (insert? -> components) dann wähle Microsoft Masked Edit Control 6.0 aus oder klicke auf Browse ...
C:\windows\system32\msmask32.ocx dann passt das ...

Gruß
Micha

------------------
http://classicvb.org/petition/

 

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

Jelmer
Mitglied
zeichner

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

Beiträge: 3
Registriert: 26.01.2006

erstellt am: 26. Jan. 2006 10: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 tidennis 10 Unities + Antwort hilfreich


MFG-sheet.zip

 
Leider kein Resultat.

Ich glaube das die rechner von Dennis die einsige ist wo die macro functioniert. Wenn jemand es versuchen will.

Jelmer

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 26. Jan. 2006 11:09    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 tidennis 10 Unities + Antwort hilfreich

Nein,
bei mir Funktioniert es ... es muss also was mit deinem Rechner zu tun haben....

welche Fehlermeldung bekommst du ?

und kannst du die UserForm1 bei dir öffnen wenn ja siehst sie so aus wie sie sein sollte ?

Gruß
Micha

------------------
http://classicvb.org/petition/

 

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

Jelmer
Mitglied
zeichner

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

Beiträge: 3
Registriert: 26.01.2006

erstellt am: 26. Jan. 2006 11: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 tidennis 10 Unities + Antwort hilfreich

Ehm, wie es passiert ist wissen wir nicht aber das problem hat sich plötzlich gelöst.
Ich glaube das activieren von die masked edit, und schliessen und starten von SW had es geklärt.

Oder vieleicht war es Pures Glück.

Danke vielmals! 
einfach super!

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 26. Jan. 2006 11:42    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 tidennis 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Jelmer:
Ehm, wie es passiert ist wissen wir nicht aber das problem hat sich plötzlich gelöst.
Ich glaube das activieren von die masked edit, und schliessen und starten von SW had es geklärt.

Oder vieleicht war es Pures Glück.

Danke vielmals!  
einfach super!


na dann .... Glückwunsch

------------------
http://classicvb.org/petition/

 

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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