Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro: Begriff in Excelliste suchen und eintragen

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
  
PLM TechnologieForum Essen
Autor Thema:  Makro: Begriff in Excelliste suchen und eintragen (1286 mal gelesen)
Joshua63
Mitglied
Maschinenbautechniker


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

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 05. Okt. 2016 10: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

Hallo zusammen,

kann man folgende Funktion in einem Makro realisieren:

Ich möchte den in einem Textfeld eigetragenen Namen per Button-Klick in einer Excelliste suchen.
Die Liste hat 2 Spalten, Deutsch und Englisch.
Dem deutschen Begriff ist immer die Übersetzung in der gleichen Zeile zugewiesen.
Den englischen Begriff möchte ich dann in ein 2. Textfeld eintragen.

Wenn keine Übereinstimmung in der Liste da ist, eine Meldung anzeigen und das Textfeld bleibt leer.

Vielleicht muss es nicht gerade eine Excelliste sein, eine andere Lösung wäre mir auch willkommen.

Grund:
wir führen PDM ein, die Funktion kann ich zwar auf der Datenkarte einbauen, die Karte aber wegen der sehr
eingeschränkten Funktionen nicht verwenden.
Nun möchte ich das in meinem Makro machen, wenn es meine bescheidenen Fähigkeiten nicht überschreitet.

Gruß

------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 05. Okt. 2016 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 Nur für Joshua63 10 Unities + Antwort hilfreich

Hallo Joshua,

das Macro soll ausgeführt werden wo, in SWX, Excell oder im PDM? Wo soll der Wert dann eingetragen werden, in eine Eigenschaft SWX oder direkt im PDM?
Kann EPDM nicht mit Kreuztabellen arbeiten bzw. Datenbanktriggern?

In unserem PDM läuft das z.B. so das bei der Artikelanlage nach dem bestätigen ein vorhandener Wert mit einer Kreuztabelle abgeglichen wird und daraufhin weitere Werte aus dieser automatisch eingetragen werden. Diese Kreuztabelle kommt aus unserem ERP.

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

Joshua63
Mitglied
Maschinenbautechniker


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

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 05. Okt. 2016 15: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

Hi.....
- das Makro wird in SWX ausgeführt
- der Wert soll in ein Textfeld im Makro eigetragen werden, das Makro schreibt den Wert dann in die Dateieigenschaften

Wir legen keine Artikel an, unsere Projekte haben einen eigenen Nummernkreis der an die Jahreszahl gekoppelt ist.
Es werden nur Normteile und Kaufteile mehrfach verwendet.
Vielleicht wird das später eimal anders sein.

Das Problem ist, das die Datenkarte nicht annähernd die Funktionen hat wie unser Makro.
z.B. mehrfachnutzung von Variablen und Dateieigenschaften, bestimmte Bereiche aus dem Dateinamen auslesen ect.
Wir haben schon zich Stunden damit verbracht es zumindest annähern hin zu bringen, no Way.

Mit unserem Makro wird so gut wie nichts mehr geschieben, entweder werden die Felder automatisch ausgefüllt,
per Auswahlliste oder mit C&P.
Nur beim Erstellen der Datei muss natürlich noch mit der Tastatur gearbeitet werden :-)

Ich will auf keinen Fall Rückschritte in puncto Fehlerquellen (Eingabe per Tastatur) und Komfort machen.
Mit dem Makro bin ich viel flexiebler was das Ausfüllen der Eigenschaften betrifft.

Das Tema Datenkarte für undere CAD-Modelle ist damit durch.

Wir hatten bis jetzt keine englische Benennung in unseren Zeichnungen. Das soll jetzt mit dem PDM natürlich alles 2-sprachig werden.
Die einzige Funktion die mir dazu noch fehlt, wäre ne komfortable Übersetzungsmöglichkeit mit dem Makro um die Handeingabe
so weit wie möglich zu minimieren.

Gruß

------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 05. Okt. 2016 16:55    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 Joshua63 10 Unities + Antwort hilfreich

Hallo,

ich mache solche Sachen (in deinem Fall wäre es ja eine Kreuztabelle) lieber mit einer CSV, weil diese kann relativ "schnell" und einfach eingelessen werden ohne das die Datei dazu geöffnet werden muss. Bei Excell ist das schon ein spannenderes vorhaben wenn die Datei nicht geöffnet werden soll.

Zum einlessen von CSV Datein in ein Arry und dieses dann zu durchsuchen nach einem Wert gibt es genug Schnippsel im www.

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

Joshua63
Mitglied
Maschinenbautechniker


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

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 05. Okt. 2016 16: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

...OK,

erst mal Danke.

da die Liste mehr als 1000 Einträge hat ist die schnellste Möglichkeit die beste :-)

Ciao

------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 06. Okt. 2016 07:51    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 Joshua63 10 Unities + Antwort hilfreich

Hallo Joshua,

hier mal was schnell gebasteltes.

CSV Form

Deutschtext;Englischtext
Deutschtext1;Englischtext1
.
.
.
Deutschtext999;Englischtext999
Deutschtext1000;Englischtext1000

Code:

Dim swApp          As SldWorks.SldWorks
Dim swPart          As SldWorks.ModelDoc2

Dim arrImput        As Variant

Dim EngTxt          As String
Dim DeuTxt          As String

Dim i              As Long
Dim boolstatus      As Boolean

Sub main()

Set swApp = Application.SldWorks
Set swPart = swApp.ActiveDoc

ReadCSV ("Pfad zur CSV")

DeuTxt = "Hier Suchtext"

Do Until Split(arrImput(i), ";")(0) = DeuTxt

    Split(arrImput(i), ";")(0) = DeuTxt
    EngTxt = Split(arrImput(i), ";")(1)
   
    boolstatus = swPart.AddCustomInfo3(sConfigName, "English", 30, EngTxt)
   
    If boolstatus = False Then
   
        swPart.CustomInfo2("", "English") = EngTxt
   
    End If
   
    If i = UBound(arrImput) Then
        Debug.Print "Wert nicht gefunden"
        Exit Do
    Else
        i = i + 1
    End If
   
Loop

End Sub

Public Sub ReadCSV(ByVal DataPath As String)

'Einlesen der CSV Datei und in ein Zeilenarry schreiben Deu;Eng

    Dim intFile As Integer
    Dim strText As String

    intFile = FreeFile
    Open DataPath For Binary As #intFile
        strText = Space$(LOF(intFile))
        Get #intFile, , strText
    Close #intFile
   
    arrImput = Split(strText, Chr(10))
   
End Sub


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

Joshua63
Mitglied
Maschinenbautechniker


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

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 06. Okt. 2016 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

Hi

klasse, danke.......

werde es in den nächsten Tagen mal testen.

ein paar Fragen hab ich noch:

- ReadCSV ("Pfad zur CSV") --> hier der Pfad + Dateiname ?
- DeuTxt = "Hier Suchtext"    --> hier die Variable (Textfeld) in der die deutsche Bezeichnung steht ?
- Wird die Suche hier mit dem Start des Makros gestartet ?
  Ich möchte das dann über einen Button im Makro starten, müsste doch auch gehen.
- "Deutschtext1;Englischtext1" --> der deutsche Text steht vorne aber die Zahl hat keine Bedeutung und muss ich nicht dazu schreiben?
- sucht er nach einer 100%igen Übereinstimmung oder nimmt er das erste Wort in dem die Zeichenfolge steht ?
  bei Platte z.B. Adapterplatte usw.....
- boolstatus = swPart.AddCustomInfo3(sConfigName, "English", 30, EngTxt) --> Suchst du eine Konfiguration mit dem Namen "English"
  und wenn keine da ist schreibst du es in die Benutzerdefinierte?
 

Fragen über Fragen.....ich weis :-)

Danke

------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 06. Okt. 2016 13: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 Nur für Joshua63 10 Unities + Antwort hilfreich

Hallo Joshua,

Zitat:
- ReadCSV ("Pfad zur CSV") --> hier der Pfad + Dateiname ?

Jupp mit Dateinamen + Endung
Zitat:
- DeuTxt = "Hier Suchtext"     --> hier die Variable (Textfeld) in der die deutsche Bezeichnung steht ?

Jupp hier könntest du entweder eine Textbox einer Form auslesen oder eine Eigenschaft aus deinem Model
Zitat:
- Wird die Suche hier mit dem Start des Makros gestartet ?
   Ich möchte das dann über einen Button im Makro starten, müsste doch auch gehen.

Ja im Moment würde das Makro direkt gestartet werden, aber natürlich kannst du das ganze auch in eine UserForm packen.
Zitat:
- "Deutschtext1;Englischtext1" --> der deutsche Text steht vorne aber die Zahl hat keine Bedeutung und muss ich nicht dazu schreiben?

Die Zahlen waren nur zur besseren Versinnbildlichung.
Zitat:
- sucht er nach einer 100%igen Übereinstimmung oder nimmt er das erste Wort in dem die Zeichenfolge steht ?
  bei Platte z.B. Adapterplatte usw.....

Im Moment macht er eine 100% Prüfung, dass könnte mann aber auch mit etwas Aufwand anders gestallten
Zitat:
- boolstatus = swPart.AddCustomInfo3(sConfigName, "English", 30, EngTxt) --> Suchst du eine Konfiguration mit dem Namen "English"
  und wenn keine da ist schreibst du es in die Benutzerdefinierte?

Bei diesem Beispiel schreibt er immer in die benutzerdefinierte Eigenschaft weil sConfigName ja leer ist, eigentlich sollte da auch "" statt sConfigName stehen, hab ich nicht aufgepasst beim kopieren .

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

Joshua63
Mitglied
Maschinenbautechniker


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

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 06. Okt. 2016 13:57    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

Hi Bernd,

vielen Dank für die ausführliche Hilfe und Anleitung.

Damit werd ich erst mal rumbasteln können 

Ciao

------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

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

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


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

Beiträge: 720
Registriert: 17.01.2007

SWX 2019 SP5
AutoCAD 2019
Win 10 pro 64 bit
Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz
64GB RAM
Nvidia Quadro M5000
SWx EPDM

erstellt am: 06. Okt. 2016 15:41    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 Joshua63 10 Unities + Antwort hilfreich

Zum Code-Schnipsel "borgen": 

http://ww3.cad.de/foren/ubb/Forum2/HTML/029730.shtml#000012

Gruß, Jens

------------------
CSWA, CSWP =)

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 06. Okt. 2016 16: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 Joshua63 10 Unities + Antwort hilfreich

Hallo Jens,

Zitat:
Zum Code-Schnipsel "borgen": 

ja genau diesen Beitrag hatte ich auch im Kopf nur nicht mehr gefunden. 

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

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