Kopieer/plak de Materiaallijst naar Excel

Hallo,

Ik wilde weten of het mogelijk is om een deel van de stuk materiaal uit een plan te kopiëren/plakken om het in een Excel-bestand te plakken? (zonder een "opslaan als" van de stuk of materialen te doen en een Excel-bestand aan te maken)
Heb je een truc of is het niet mogelijk?

Dank je wel

Hallo,

De koningen van de macro vertellen je dat alles mogelijk is (macro die opslaat in Excel-exportformaat en vervolgens de tabel kopieert zodat je het in je Windows-kopieer/plak-stack kunt plaatsen, en verwijder dan het bestand dat we net hebben aangemaakt).

Verder lijkt er geen directe kopieeroplossing te zijn (in 2020 in ieder geval).

Dan heb je de historische ' relou '-oplossing: je verwijdert je SW-nomenclatuur, je zet een oude nomenclatuur terug in Excel-formaat dat je kunt bewerken door met de rechtermuisknop in Excel te klikken → mogelijk om het te kopiëren

2 likes

Hallo @Guillaume_REBOUSSIN

Een vraag: waarom zonder op te slaan als? Het is een eenvoudige oplossing, die bij jou zou passen.

Kopiëren/plakken werkt inderdaad niet, alleen in de andere richting (Excel naar SW).

1 like

@froussel

Omdat ik een dozijn nomenclaturen moet extraheren om ze in hetzelfde Excel-bestand te voegen... dus het zou veel praktischer zijn om te kopiëren/plakken

Hallo,

In dit geval per macro geen andere native oplossingen behalve die welke door @froussel wordt aangeboden

1 like

Extraheren per macro (@Cyril_f ) en compileren door dezelfde macro lijkt mij mogelijk.
Dit is gelijk aan een saved-under + bestandscompilatie.

1 like

Hallo,

Hieronder staat een eenvoudige macro die het geselecteerde gebied van de stuklijst kopieert naar het Windows-klembord (dankzij de AI...).
Meerdere selecties zijn niet mogelijk.

Het enige wat nog overblijft is het resultaat in Excel plakken.

[Bewerking - Aangepaste macro, hieronder beschikbaar]

Hallo,
Zonder de AI heb ik al een bestaande code om de data uit een nomenclatuurregel te halen (ik denk dat ik die al heb aangeleverd voor een ander verzoek van hetzelfde type op dit forum).
Je kunt Excel ook direct bewerken vanuit de macro die in SW is geopend en direct kopiëren/plakken zonder te wachten tot de gebruiker tussenkomt.

1 like

Hallo,
Ik heb het tegenovergestelde standpunt, maar we kunnen overwegen alle onderdelen samen te stellen, zelfs zonder positionering, en een nomenclatuur te maken.

Zeer goede suggestie om te @Cyril_f, kopieer/plak één macro van Solidworks.
Procedure:

  • Selecteer in Excel de bestemmingscel;
  • Selecteer in Solidworks het BOM-bereik om te kopiëren/plakken;
  • Voer de macro uit Solidworks.

Bevestiging wordt gevraagd als het bestemmingsbereik in Excel niet leeg is.

StructureEiffel.swp (67 KB)

1 like

Hier is een van de onderwerpen voor het ophalen van gegevens uit tabellen
BOM's lezen - Macro - myCAD Forum
En nog een om te exporteren naar Excel
Exporteer de Materiaallijst naar Excel met een VBA-macro - Macro - myCAD Forum

1 like

Hallo,

Bij al deze oplossingen blijft het probleem van het bijwerken van de materiaallijst in het geval van een wijziging in de vergadering. Dus, advies blijft waakzaam

Hallo,

Behandeling kan altijd worden toegevoegd om dit geval te behandelen :slight_smile:

Gegevens kunnen worden gekoppeld tussen Excel-bestanden om automatisch bij te werken.
Excel vereist dat je binding-updates inschakelt of handmatig bijwerkt.
De macro moet bestanden aanmaken voor elke nomenclatuur en vervolgens in een compilatiebestand bij elke update updaten.
Ik denk dat je een waarde in de SolidWorks-stuklijst moet aanmaken die later gefilterd kan worden, bijvoorbeeld via de macro of via Excel, een datum.
Is het mogelijk :thinking:

Hoi, ik heb deze macro een tijd geleden gemaakt en ik gebruik hem nog steeds.

Je selecteert een tabel of een cel, het maakt niet uit, je start de macro

en dan heb je meer dan een Ctrl+V in een Excel-cel, dat is alles.

CopyBomToExcel.swp (48 KB)

2 likes

In dit geval maak je een tijdelijke ASM aan met je 10 sets. Je hoeft niet eens een plan te maken, je kunt de volledige BOM uit de ASM halen.

1 like

Hallo @Ludovic_MARCELIN

Ik denk dat je zijn probleem hebt opgelost: hij hoeft alleen maar de macro toe te wijzen aan een sleutel of een persoonlijk icoon en dat is het.

Na het opnieuw testen van je macro is het kopiëren en plakken slecht voor cellen met paragraafbreuken: bij het plakken in Excel wordt de data in meerdere cellen verdeeld in plaats van een cel te maken met tekst die alinea-onderbrekingen bevat.

Een VBA-professional zou dit detail gemakkelijk moeten kunnen corrigeren

Hier is een ' functionele ' code die het probleem van regelafbrekingen/alinea-onderbrekingen oplost (in brute-modus na het bewerken van de code door M365 Copilot: ik heb alle tekens die op een alinea/regelbreek leken vervangen door een spatie.
→ Tekst wordt goed geïmporteerd in één enkele cel

Aan de andere kant is er geen verwijzing meer :crying_cat_face:

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

Als iemand het strakker maakt (en regelreferenties in de tekst van de Excel-cel kan plaatsen), hoeft hij gewoon opnieuw te plaatsen.

NB: ik weet niet zeker of dit haalbaar is, aangezien de macro een string doorloopt die gescheiden is door tabs (die de cellen verplaatsen bij het kopiëren in Excel) en CRLF's (die de verwijzing naar de volgende regel maken).
Het zou waarschijnlijk nodig zijn om de macro volledig te herschrijven zodat er iets echt functioneels is (dat de macro een tijdelijk Excel-bestand aanmaakt, dat de tekst in de cellen plakt en alle ingevulde cellen in het klembord plaatst).

1 like

Precies, in dit geval had ik het niet nodig, al mijn waarden staan op één regel in mijn stukstukken