Skopiuj i wklej arkusz materiałów do Excela

Cześć,

Chciałem się dowiedzieć, czy można skopiować/wkleić część wykazu materiałów z planu, aby wkleić ją do pliku Excel? (bez przechodzenia przez "zapisz jako" wykazu materiałów i tworzenia pliku Excel)
Masz jakiś trik, czy to niemożliwe?

Dziękuję

Cześć,

Królowie makra powiedzą ci, że wszystko jest możliwe (makra, które zapisuje się w formacie eksportu Excela, a potem kopiuje tabelę, aby mieć ją w swoim stosie kopiowania/wklejania Windows, a następnie usuwa plik, który właśnie stworzyliśmy).

Poza tym nie wydaje się, żeby istniało rozwiązanie bezpośredniego kopiowania (przynajmniej w 2020 roku).

Potem mamy historyczne rozwiązanie ' relou ': usuwasz nomenklaturę SW, wrzucasz starą nomenklaturę z powrotem do formatu Excel, którą można edytować klikając prawym przyciskiem myszy w Excelu, → to możliwe, by ją skopiować

2 polubienia

Cześć @Guillaume_REBOUSSIN

Jedno pytanie, dlaczego bez zapisywania as? To proste rozwiązanie, które by ci odpowiadało.

Rzeczywiście, kopiowanie/wklejanie nie działa, tylko w przeciwnym kierunku (Excel do SW)

1 polubienie

@froussel

Bo muszę wyodrębnić tuzin nazewnictw, żeby połączyć je w jednym pliku Excel... więc znacznie bardziej praktyczne byłoby kopiowanie i wklejanie

Cześć,

W tym przypadku przez makro, nie ma innych natywnych rozwiązań poza tym oferowanym przez @froussel

1 polubienie

Wydaje mi się, że ekstrakcja za pomocą makro (@Cyril_f ) i kompilacja tym samym makrem jest możliwa.
Jest to równoważne kompilacji pliku zapisanego pod + pliku.

1 polubienie

Cześć,

Poniżej znajduje się prymitywne makro, które kopiuje wybrany obszar BOM do schowka Windows (dzięki AI...).
Nie można zabrać wielu wyborów.

Pozostaje tylko wkleić wynik do Excela.

[Edytuj - Zmodyfikowane makro, dostępne poniżej]

Cześć,
Bez AI mam już istniejący kod do wyodrębniania danych z linii nomenklatury (chyba już go udostępniłem na potrzeby innego tego samego rodzaju zapytania na tym forum).
Możesz też bezpośrednio manipulować Excelem z makra uruchomionego w SW i kopiować/wklejać bezpośrednio bez czekania na interwencję użytkownika.

1 polubienie

Cześć,
Mam odwrotne zdanie, ale możemy rozważyć złożenie wszystkich części, nawet bez ustawiania się, i stworzenie nomenklatury.

Bardzo dobra sugestia, żeby @Cyril_f, skopiować/wkleić w jednym makrze ze Solidworks.
Procedura:

  • W Excelu wybierz komórkę docelową;
  • W Solidworks wybierz zakres BOM do kopiowania/wklejania;
  • Uruchom makro ze Solidworks.

Potwierdzenie jest wymagane, jeśli zakres docelowy w Excelu nie jest pusty.

StructureEiffel.swp (67 KB)

1 polubienie

Oto jeden z tematów dotyczących pobierania danych z tabel
Odczyt BOM-ów - Makro - myCAD Forum
I kolejną do eksportu do Excela
Eksport arkusza materiałów do Excela za pomocą makra VBA - Makro - myCAD Forum

1 polubienie

Cześć,

We wszystkich tych rozwiązaniach problem aktualizacji listy materiałów pozostanie w przypadku zmiany zgromadzenia. Dlatego pozostańcie czujni

Cześć,

Zawsze można dodać leczenie, aby poradzić sobie z takim przypadkiem :slight_smile:

Dane można łączyć między plikami Excel, aby aktualizować się automatycznie.
Excel będzie wymagał włączenia aktualizacji wiązań lub ich ręcznej aktualizacji.
Makro musi tworzyć pliki dla każdej nomenklatury, a następnie w pliku kompilacyjnym aktualizować się przy każdej aktualizacji.
Myślę, że musisz stworzyć wartość w BOM SolidWorks, którą można później przefiltrować, albo przez makra, albo przez Excel, na przykład datę.
Czy to możliwe? :thinking:

Cześć, stworzyłem to makro jakiś czas temu i nadal z niego korzystam.

Wybierasz tabelę lub komórkę, to nie ma znaczenia, uruchamiasz makro

a potem masz więcej niż Ctrl+V w komórce Excela, i tyle.

CopyBomToExcel.swp (48 KB)

2 polubienia

W takim przypadku tworzysz tymczasowy ASM z 10 zestawami. Nie musisz nawet tworzyć planu, możesz wyodrębnić cały BOM z ASM.

1 polubienie

Cześć @Ludovic_MARCELIN

Myślę, że rozwiązałeś jego problem: wystarczy przypisać makro do klawisza lub ikony osobistej i to wszystko.

Po ponownym przetestowaniu makro kopiowanie i wklejanie jest szkodliwe dla komórek zawierających połamania paragrafów: podczas wklejania w Excelu dane są dzielone na kilka komórek zamiast tworzyć komórkę z tekstem zawierającym podziały akapitów.

VBA profesjonalista powinien łatwo poprawić ten szczegół

Oto "funkcjonalny  " kod, który rozwiązuje  problem podziałów wierszy/akapitów (w trybie brute po edycji kodu przez M365 Copilot): zastąpiłem wszystkie znaki, które wyglądały jak akapity/łamanie linii, i zastąpiłem je spacją.
→ Tekst importuje dobrze do jednej komórki

Z drugiej strony, nie ma już żadnego skierowania :crying_cat_face:

CopyBomToExcel - Copilot edycja.swp (48,5 KB)

Jeśli komuś uda się to uczyścić (i umieścić odniesienia do linii w tekście komórki Excela), po prostu musi to opublikować ponownie.

Uwaga: nie jestem pewien, czy to wykonalne, ponieważ makro przechodzi przez ciąg znaków oddzielonych tabulatorami (które przesuwają komórki podczas kopiowania w Excelu) oraz CRLF-ami (które odwołują się do następnej linii).
Prawdopodobnie konieczne byłoby całkowite przepisanie makra, żeby miało coś naprawdę funkcjonalnego (żeby makro tworzyło tymczasowy plik Excel, wklejało tekst do komórek i umieszczało wszystkie wypełnione komórki w schowku).

1 polubienie

Dokładnie, w tym przypadku nie było mi potrzebne, wszystkie moje wartości są w jednej linii w BOM-ach