| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: excel to plankopf atribut (1434 mal gelesen)
|
nebuCADnezzar Mitglied
Beiträge: 292 Registriert: 17.10.2007 AutoCAD 2021 Mechanical 2021 Inventor 2021 64 bit Win 10 AMD Ryzen Pro 3700U
|
erstellt am: 06. Aug. 2019 13:37 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Edit: Ich habe einen völlig neuen Ansatz gefunden der Einfach ist und Funktionert: -Exportiere aktive Zeile aus Excel in .txt -Importiere Daten aus .txt mittels attin Export Zeil aus Excel:
Code: Private Sub CommandButton1_Click() AutCAD_export End Sub Sub AutCAD_export()
Dim strDateiname As String, strPath As String Dim i As Long, lngZeile As Long strPath = "c:PFAD" 'Speicherpfad eintragen strDateiname = "txt_test.txt" 'Dateinamen mit Dateiendung eintragen lngZeile = ActiveCell.Row Open strPath & strDateiname For Output As #1
Print #1, "HANDLE;BLOCKNAME;1_ERSTELLT_AM_DURC;2_DOKUMENTTYP;3_BEZEICHNUNG;4_DOKUMENTNR;5_GEÄNDERT_AM_DURCH;6_PRODUKTGRUPPEN;7_FREIGEGEBEN_AM_DURCH;8_REVISION;9_VERTEILE;10_SEITEN;11_SIZE_SCALE" Print #1, "'5112;PK_RH;"; Cells(lngZeile, 1).Value & ";" & Cells(lngZeile, 2).Value & ";" & Cells(lngZeile, 3).Value & ";" & Cells(lngZeile, 4).Value ' & ";" & Cells(lngZeile, 5).Value & ";" & Cells(lngZeile, 10).Value & ";" & Cells(lngZeile, 11).Value & ";" & Cells(lngZeile, 12).Value & ";" & Cells(lngZeile, 13).Value & ";" & Cells(lngZeile, 14).Value & ";" & Cells(lngZeile, 15).Value MsgBox "Hura"
Close #1
End Sub
Importiere: Code: (defun c:PKimp(/ tmpn) (load "attout") (setvar 'cmdecho 0) (setq #bns_attin_modified 0) (if (setq tmpn (findfile "c:PFAD" 'Pfad un dDateinamen angeben ) ) (bns_attin tmpn nil) ) )
Ich hatte wiedermal ne super Idee mir das leben leichter zu machen :-) Aber ich hab schon lange nicht mehr "gelispelt" vielleicht kann mir wiedermal wer nen Schubser in die richtige Richtung geben. Zenario: Ich hab ne fette grosse exel in dem Dokumente verwaltet werden, n paar Tausend Zeilen... Darin "eröffen" wir neue Dokumente mit Name, Nummer, ... Bisher müssen wir controll+c controll+v die Texte aus Excel kopieren und in die Atribute rein. Ich hätte gern mein Lisp hole Daten aus excel: -starte Lisp -Angabe der auszulesenden Zeile (ja dass muss man von Hand angeben...) -Import Zelle A2566 nach Atribut "Name" -Import Zelle B2566 nach Atribut "Plan Nr") -... -... Ich hab die Grundlagen gefunden und ein wenig gewurstelt, aber ich vermute dass Problem beim "laden" des Excel wird versucht dass komplette Excel in ne lisp Liste zu laden was zum freez oder absturz füchrt (zu gross vermute ich). Kann man spezifischer sagen lade ausschliesslich die gewünschte Zeile?
Schöne Grüsse Nebu Als Zugag zu Excel: GetExcel.lsp Code:
(defun c kup (/ Zeile 3_BEZEICHNUNG_neu) (setq Zeile (getreal "zu importierende excelzeile angeben ")) (GetExcel "Pfad" "Sheet1" nil) ;<-- Edit Filename.xls (setq 3_BEZEICHNUNG_neu (GetCell "A"Zeile)) ;Or you can just use the global *ExcelData@ list ) (defun reptag (tag newvalue ent / alist ) (if (and (= (type ent) (read "VLA-OBJECT")) newvalue) (progn (setq alist ( vlax-invoke ent 'GetAttributes)) (foreach a alist (if (= (vla-get-tagstring a) tag) (vlax-put-property a 'TextString newvalue) );i );fe );p (if (= 'ename (type ent)) (reptag tag newvalue (vlax-ename->vla-object ent)));i );i (princ);d )
(defun c:WD_MLRHchange ( / ent) (setq ent (car (entsel))) (reptag "3_BEZEICHNUNG" "3_BEZEICHNUNG_neu" ent) (princ) )
------------------ "Wissenschaft ist entweder Physik oder Briefmarkensammeln" Ernest Rutherford 1871-1937 [Diese Nachricht wurde von nebuCADnezzar am 12. Aug. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 06. Aug. 2019 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für nebuCADnezzar
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 06. Aug. 2019 14:43 <-- editieren / zitieren --> Unities abgeben: Nur für nebuCADnezzar
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 06. Aug. 2019 15:08 <-- editieren / zitieren --> Unities abgeben: Nur für nebuCADnezzar
A) siehe CADwiesel B) Fremdcode bitte nicht im Klartext hier hin kopieren, sondern den link zur Quelle angeben! C) Die Stelle (GetCell "A"Zeile) funktioniert doch schon nicht? D) Dat Dingens hat den Prozess Excel.Exe in den Fingern und gibt ihn nicht wieder her, öffnen tut es die nur im Hintergrund, der Anwender sieht davon nichts, das ist bekannt? E) In einer VIEL kleineren Testtabelle klappt alles? F) Excel ist ein Tabellenkalkulationsprogramm, kein Datenbankersatz, aber das nur am Rande (scnr!)
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nebuCADnezzar Mitglied
Beiträge: 292 Registriert: 17.10.2007 AutoCAD 2021 Mechanical 2021 Inventor 2021 64 bit Win 10 AMD Ryzen Pro 3700U
|
erstellt am: 06. Aug. 2019 16:45 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von runkelruebe: A) siehe CADwieselB) Fremdcode bitte nicht im Klartext hier hin kopieren, sondern den link zur Quelle angeben! C) Die Stelle [b](GetCell "A"Zeile) funktioniert doch schon nicht? D) Dat Dingens hat den Prozess Excel.Exe in den Fingern und gibt ihn nicht wieder her, öffnen tut es die nur im Hintergrund, der Anwender sieht davon nichts, das ist bekannt? E) In einer VIEL kleineren Testtabelle klappt alles? F) Excel ist ein Tabellenkalkulationsprogramm, kein Datenbankersatz, aber das nur am Rande (scnr!) [/B]
A) Werds verschieben
B) Sorry, habi irgendwo hier rauskopiert?! Zumindest den link gefunden... C) Ja bin noch am basteln, bin mir das halb bewust dass das noch nicht funkt..., aber so weit liefs ja noch gar nicht durch (Muss meinen Lispordner für den richtignen Syntax in hervorkramen... bin aus der Übung...) D) Ja ich muss nix davon sehen, aber dass mit dem wiederhergeben ist noch n Punkt... E) Könnt ich Testen, aber hilft nicht solange dass Teil versucht die ganze zu importieren, aber wär n Ansatz F) Wem sagst du dass... aber wie dass is, määänägemänt findet Dokumentenmanagementsystem is nicht Notwendig (da es Geld kostet) Und mein "CAD Verantwortlicher" findet dass der Grafikkartentreiber aus dem Jahre 2013 super ist und dass keiesfalles ein aktueller installiert wird... schon gar nicht wenn neues Inventorsuite installiert wird... Vielleicht versuch ich doch nen csv oder txt Zeilen-Export aus Excel zu VBA-en und dass dann per obigen code oder attin zu importieren, ist vielleicht einfacher...
Gruss ------------------ "Wissenschaft ist entweder Physik oder Briefmarkensammeln" Ernest Rutherford 1871-1937 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nebuCADnezzar Mitglied
Beiträge: 292 Registriert: 17.10.2007 AutoCAD 2021 Mechanical 2021 Inventor 2021 64 bit Win 10 AMD Ryzen Pro 3700U
|
erstellt am: 06. Aug. 2019 17:00 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADwiesel: Es gibt ein Lisp Forum!!!! HIER
Kannst du als Moderator das Thema verschieben?
------------------ "Wissenschaft ist entweder Physik oder Briefmarkensammeln" Ernest Rutherford 1871-1937 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 06. Aug. 2019 19:35 <-- editieren / zitieren --> Unities abgeben: Nur für nebuCADnezzar
N'Abend, A) Ich versuche, später zu verschieben. Leider gehört das RuA zu den Brettern, in denen sowas regelmäßig schief geht Daher wäre mir ein von Dir selber neu erzeugter Beitrag drüben lieber, dann schließe ich morgen früh hier. B) Wo ist denn 'hier'? Oftmals ist es so, dass es auf der Fundseite bereits einen thread/Kommentarfunktion/whatever gibt. Wenn ich nach "Program Name: GetExcel.lsp [GetExcel R4]" google, find ich schon paar Diskussionen, z.B. bei theswamp.org Du hast allerdings auch schon (r)umgebastelt, würde daher auch in diesem Fall eine Verlinkung des Originals sowie das Ergebnis Deiner Bastelkunst (ggfs. als txt-Anhang, wenn's länger ist) begrüßen. Der thread wird so einfach unangenehm lang, da bekommt man ja scrollfinger. Zumindest aber sollten alle Stellen, in denen Du was geändert hast, gekennzeichnet sein. C) ich weiß nicht, WO es knallt, das ist mir halt gleich ins Auge gesprungen. Vielleicht irre ich mich ja auch, und das Zusammenbauen einer Zelladresse im A1-Format mit Variable drin, ist gar nicht so nervig, wie ich es in Erinnerung habe. D) vielleicht rückt er sie ja wieder raus, wenn der ganze code mal sauber durchläuft. Dazu müssen aber Kenner der Materie (=nicht ich) etwas sagen. E) ich würd halt erstmal einen funktionsfähigen code erstellen und wenn der dann auf der großen Datei nicht läuft, kann man immer nochmal schauen. Andersrum sind es einfach zu viele mögliche Fehlerquellen auf einmal F) ja, ich weiß, kommt vor. Selber hab ich nicht nur diverse Datenverwaltung, Dokumentationen und Bauzeitenpläne in Excel gemacht, es gab Experten, die haben ganze Kanallängsschnitte in Excel gemalt. Macht halt müde, aber wer aufgibt, hat schon verloren. Sei tapfer und geduldig und überzeugend. Und hartnäckig irgendwann hören SIE Dir zu, vielleicht sogar schon vor Deiner Rente
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|