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ść,
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ć
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)
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
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.
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.
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:
Potwierdzenie jest wymagane, jeśli zakres docelowy w Excelu nie jest pusty.
StructureEiffel.swp (67 KB)
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
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 ![]()
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? ![]()
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)
W takim przypadku tworzysz tymczasowy ASM z 10 zestawami. Nie musisz nawet tworzyć planu, możesz wyodrębnić cały BOM z ASM.
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 ![]()
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).
Dokładnie, w tym przypadku nie było mi potrzebne, wszystkie moje wartości są w jednej linii w BOM-ach