Hallo, ik zou graag een document uit een document willen kunnen halen, daarvoor heb ik mijn programma gemaakt dat werkt, maar ik zou nu graag een ander document met een andere naam in hetzelfde document willen kunnen nemen. Opgemerkt moet worden dat er altijd maar één stuk in dit document zal zijn. Is het mogelijk om een macro te hebben die alle onderdelen van hetzelfde document neemt?
Bijvoorbeeld: boolstatus = swApp.LoadFile2("C:\Users\Desktop\nieuwe map\ (alles of bestandsnaam)", "")
Hallo
Kunt u uw huidige macro delen?
Kun je uitleggen wat je wilt doen? Ik dacht dat de macro me zou doen begrijpen wat je bedoelt met "krijg een munt" en "neem alle munten", maar dat is het niet.
Ook de macro gebruikt "SelectByRay", wat een beetje willekeurig is
Als u randen probeert te selecteren, is het beter om dit te doen met GetBodies2 en vervolgens met GetFirstFace / GetNextFace en vervolgens met GetEdges
Hartelijk dank voor het antwoord. Ik ben een nieuwkomer op dit gebied, dus ik mis een aantal begrippen, dus heel erg bedankt :).
Sterker nog, ik zou graag willen dat de software automatisch een tooling maakt met betrekking tot een onderdeel in een bestand, laten we ons voorstellen dat ik een deel A en een deel B heb. Als ik mijn macro maak met deel A als basis, werkt het, maar als ik nu deel A uit de map verwijder en vervang door B, dan werkt het niet meer omdat ze niet dezelfde naam hebben. Is er een manier om dit probleem op te lossen ?
U kunt het bestand selecteren met een dialoogvenster:
' cliquer dans le menu de la fenêtre VBA: Tools > References > sélectionner: "microsoft Excel xx.0 object library"
Sub main()
Dim xlsObject As Excel.Application
Dim fdFolder As Office.FileDialog
Set xlsObject = New Excel.Application
xlsObject.Visible = False
Set fdFolder = xlsObject.Application.FileDialog(msoFileDialogFilePicker)
fdFolder.Filters.Clear
fdFolder.Filters.Add "SolidWorks Files", "*.sld*"
fdFolder.Show
Debug.Print "fichier sélectionné: " & fdFolder.SelectedItems(1)
xlsObject.Quit
Set xlsObject = Nothing
End Sub
Of blader door alle bestanden in een map met:
Sub main()
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\Users\...")
For Each oFile In oFolder.Files
Debug.Print oFile.Name
Next oFile
End Sub
Hallo
Als u, zoals hierboven vermeld, nog maar één bestand in de betreffende map heeft, kunt u de naam ervan ophalen met de DIR-functie:
Dim Dossier As String
Dossier = "C:\Temp\divers\" 'Ligne à modifier pour mettre le nom de ton dossier
Dim Fichier As String
Fichier = Dir(Dossier)
Debug.Print Dossier & Fichier
boolstatus = swApp.LoadFile2(Dossier & Fichier, "")
Vriendelijke groeten
Heel erg bedankt voor je antwoorden, ik zal het testen.
Wees echter voorzichtig met het type bestand dat u wilt openen, u gebruikt de LoadFile2-functie (neem LoadFile4 om up-to-date te zijn) die is voor niet-native Solidworks-bestanden , als het voor een native Solidworks-bestand is, moet u de OpenDoc6-functie gebruiken en daarom een controle uitvoeren op het bestandstype (asm, PRT of DRW).
Vriendelijke groeten
1 like
OK, het enige wat je hoeft te doen is het antwoord valideren dat je vraag heeft opgelost...
Vriendelijke groeten