_

Export tekstu do excela edycja i ponowny import

Forum ogólne, ale nie do zadawania "prostych pytań". Wszystko o CAD, czego nie da się bezpośrednio połączyć z tematyką jednego z poniższych forów tematycznych.

Export tekstu do excela edycja i ponowny import

Postprzez adikas » gru 08, 2016 13:11

Witam!

Mam kilkaset tekstów wielowierszowy (mogę rozbić na zwykły). Jest to numerowanie np. 43:135
Muszę to pozmieniać na całkiem inną numerację, bez żadnej logiki na np. 4408/1
Chciałbym te wszystkie teksty wyeksportować do excela, tam edytować (gdyż wydaje mi się to łatwiejsze i szybsze) i potem importować na rysunek w te same miejsce.

Pomoże ktoś? :)
Avatar użytkownika
adikas
 
Posty: 18
Dołączył(a): maja 20, 2011 15:28

Re: Export tekstu do excela edycja i ponowny import

Postprzez ziele_o2k » gru 08, 2016 15:58

Jeśli mówimy o AutocCadzie pełnym (nie LT) to lispem do zrobienia szybko, łatwo i przyjemnie. w weekend coś Ci tam naskrobie.
Po pierwsze wolę działać na tekstach więc lepiej je zamień bo program napiszę pod zwykłe teksty.
Moim zdaniem wystarczy, że wywalimy do excela Handle każdego tekstu i jego wartość/string (będą dwie kolumny)
Ty sobie pozmieniasz co tam trzeba w trzeciej kolumnie i potem podmienimy wartości/stringi dla każdego tekstu.


EDIT:
Eksport do excela mogę na szybko napisać już teraz, ale z importem się nigdy nie bawiłem więc będę się musiał zastanowić chwilę.
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 421
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: Export tekstu do excela edycja i ponowny import

Postprzez kojacek » gru 09, 2016 11:41

Tutaj masz na szybko zdefiniowane 2 polecenia:
TEXTO - zapisuje dane w pliku tekstowym
TEXTIN - wczytuje dane z pliku tekstowego
Musisz mieć załadowanego CADPL-Pack-a, oraz poniższy kod:
Kod: Zaznacz cały
;;; =============================================================
; TEXTO + TEXTIN by kojacek
;;; =============================================================
(defun C:TEXTO (/ ss l u f)
  (setq u "\t")
  (if
    (setq ss (ssget "_:L" '((0 . "TEXT"))))
    (progn
      (setq l (cd:SSX_Convert ss 0)
            n (vl-string-subst ".txt" ".dwg" (getvar "DWGNAME"))
            l (mapcar
                '(lambda (% / %1)
                   (setq %1 (entget %))
                   (strcat "'" (cdr (assoc 5 %1))
                           u (cdr (assoc 1 %1)))
                ) l)
      )
      (if
        (setq f (getfiled "Zapisz plik TXT" n "txt" 1))
        (cd:SYS_WriteFile f (append (list "HANDLE\tTEXT") l) nil)
        (princ "\nNie wskazano pliku. ")
      )
    )
    (princ "\nNie wybrano tekstów. ")
  )
  (princ)
)
;;; =============================================================
(defun C:TEXTIN (/ f n l h v e d)
  (if
    (setq f (getfiled "Otwórz plik TXT" "" "txt" 8))
    (if
      (and
        (setq n (cd:SYS_ReadFile 0 f))
        (eq n "HANDLE\tTEXT")
      )
      (if
        (setq l (cd:SYS_ReadFile nil f))
        (progn
          (setq l (cdr l)
                l (mapcar '(lambda (%)(cd:STR_Parse % "\t" nil)) l)
          )
          (cd:SYS_UndoBegin)
          (foreach % l
            (setq h (vl-string-left-trim "'" (car %))
                  v (cadr %)
            )
            (if
              (and
                (setq e (handent h))
                (= "TEXT" (cdr (assoc 0 (setq d (entget e)))))
              )
              (if
                (/= v (cdr (assoc 1 d)))
                (cd:ENT_SetDXF e 1 v)
              )
            )
          )
          (cd:SYS_UndoEnd)
        )
        (princ "\nBłędne dane w pliku tekstowym.")
      )
      (princ "\nBłędny plik tekstowy")
    )
    (princ "\nNie wskazano pliku. ")
  )
  (princ)
)
;;; =============================================================


1) Wywołujesz polecenie TEXTO
2) Wybierasz obiekty typu TEXT
3) Wskazujesz plik tekstowy do zapisu.
4) W Excel-u importujesz plik txt z tabulatorami tak samo jak jest to opisane tutaj: https://kojacek.wordpress.com/2016/11/20/attout-attin-czyli-znow-o-atrybutach/ (w części dotyczącej edycji w Excelu)
5) Zmieniasz dane w drugiej kolumnie (a w 1 wierszu i 1 kolumnie nic nie robisz)
6) Zapisujesz z excel-a plik txt z tabulatorami (np. nadpisujesz ten wczytany)
7) W AutoCAD-zie wywołujesz polecenie TEXTIN, wskazujesz plik
8] Chwalisz się jak ci poszło :)
Avatar użytkownika
kojacek
 
Posty: 5232
Dołączył(a): paź 03, 2005 20:17

Re: Export tekstu do excela edycja i ponowny import

Postprzez robo_23 » gru 15, 2016 11:14

chyba coś nie poszło
a można wyeksportować tekst z AutoCad do Word, lub XML, lub Excel bez zaznaczania poszczególnych pól tekstowych, czy tekst w AutoCad nie jest na osobnej warstwie? i potem zassać z powrotem, chodzi o tłumaczenie tekstu na rysunku. Pilne
robo_23
 
Posty: 1
Dołączył(a): gru 15, 2016 11:10

Re: Export tekstu do excela edycja i ponowny import

Postprzez kojacek » gru 15, 2016 13:19

robo_23 napisał(a):chyba coś nie poszło

ale co nie poszło?
robo_23 napisał(a):a można wyeksportować tekst z AutoCad do Word, lub XML, lub Excel bez zaznaczania poszczególnych pól tekstowych, czy tekst w AutoCad nie jest na osobnej warstwie? i potem zassać z powrotem, chodzi o tłumaczenie tekstu na rysunku.

No przecież to robi, zdaje się.
Avatar użytkownika
kojacek
 
Posty: 5232
Dołączył(a): paź 03, 2005 20:17

Re: Export tekstu do excela edycja i ponowny import

Postprzez Tyomex » gru 15, 2016 20:11

robo_23 napisał(a):a można wyeksportować tekst z AutoCad do Word, lub XML, lub Excel bez zaznaczania poszczególnych pól tekstowych, czy tekst w AutoCad nie jest na osobnej warstwie? i potem zassać z powrotem, chodzi o tłumaczenie tekstu na rysunku. Pilne


Człowieku najpierw to Ty się naucz pisać z sensem, bo nie wiadomo o co chodzi.

Poza tym skrypt działa.
Avatar użytkownika
Tyomex
 
Posty: 371
Dołączył(a): paź 09, 2014 15:06

Re: Export tekstu do excela edycja i ponowny import

Postprzez kojacek » gru 15, 2016 21:48

Tutaj https://kojacek.wordpress.com/2016/12/15/textout-textin/, ulepszona wersja. Z ulepszeń, najważniejsza cecha - pomijanie wyboru TEXT-ów, będących FIELD-ami.
Avatar użytkownika
kojacek
 
Posty: 5232
Dołączył(a): paź 03, 2005 20:17


Powrót do Forum CAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników