Hallo, ich möchte in der Lage sein, ein Dokument aus einem Dokument abzurufen, um dies zu tun, habe ich mein Programm so gestaltet, dass es funktioniert, aber ich möchte jetzt in der Lage sein, ein anderes Dokument mit einem anderen Namen im selben Dokument zu nehmen. Es ist zu beachten, dass es in diesem Dokument immer nur ein Stück geben wird. Ist es möglich, ein Makro zu haben, das alle Teile desselben Dokuments akzeptiert?
Zum Beispiel: boolstatus = swApp.LoadFile2("C:\Benutzer\Desktop\neuer Ordner\ (alle oder Dateiname)", "")
Hallo
Können Sie uns Ihr aktuelles Makro mitteilen?
Können Sie erklären, was Sie tun möchten? Ich dachte, das Makro würde mir verständlich machen, was Sie mit "eine Münze holen" und "alle Münzen nehmen" meinen, aber das ist es nicht.
Außerdem verwendet das Makro "SelectByRay", was etwas zufällig ist
Wenn Sie versuchen, Kanten auszuwählen, ist es besser, dies mit GetBodies2 zu tun, dann GetFirstFace / GetNextFace und dann GetEdges
Vielen Dank für die Antwort. Ich bin ein Neuling auf diesem Gebiet, daher fehlen mir einige Begriffe, also vielen Dank :).
Tatsächlich möchte ich, dass die Software automatisch ein Werkzeug in Bezug auf ein Teil in einer Datei erstellt, stellen wir uns vor, ich habe einen Teil A und einen Teil B. Wenn ich mein Makro mit Teil A als Basis erstelle, funktioniert es, aber wenn ich jetzt Teil A aus dem Ordner entferne und durch B ersetze, funktioniert es nicht mehr, da sie nicht den gleichen Namen haben. Gibt es eine Möglichkeit, dieses Problem zu lösen ?
Sie können die Datei über ein Dialogfeld auswählen:
' 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
oder durchsuchen Sie alle Dateien in einem Ordner mit:
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
Wenn Sie, wie oben erwähnt, immer noch nur eine Datei in dem betreffenden Ordner haben, können Sie deren Namen mit der DIR-Funktion abrufen:
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, "")
Herzliche Grüße
Vielen Dank für Ihre Antworten, ich werde es testen.
Seien Sie jedoch vorsichtig mit dem Dateityp, den Sie öffnen möchten, verwenden Sie die Funktion LoadFile2 (nehmen Sie LoadFile4 auf den neuesten Stand), die für nicht-native Solidworks-Dateien gedacht ist, wenn es sich um eine native Solidworks-Datei handelt, müssen Sie die Funktion OpenDoc6 verwenden und daher eine Überprüfung des Dateityps durchführen (asm, PRT oder DRW).
Herzliche Grüße
1 „Gefällt mir“
OK, alles, was Sie tun müssen, ist, die Antwort zu bestätigen, die Ihre Frage beantwortet hat...
Herzliche Grüße