| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Code erstellt Unterordner (990 mal gelesen)
|
Bluejay Mitglied Ingenieur
Beiträge: 198 Registriert: 14.05.2007 Inventor 2011 for Simulation<P>Microsoft Windows XP Professional<P>Dell Precision T3400 Intel(R) Core(TM)2 Duo CPU E6750 @2,66 GHz 3,00 GB RAM
|
erstellt am: 23. Aug. 2017 10:09 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen zusammen, ich habe folgenes Problem, ich habe ein Programm welches mir IPT Dateien in einen bestimmten Ordner kopiert. Nun passiert es schon mal das die Datei nicht flach in diesen Ordner abgespeichert wird, sondern das diese in einen neu erstellten Unterordner in diesem Pfad abgelegt wird? Verstehen tuhe ich das nicht - hat jemand eine Idee Sub Export_Part() 'Reference zum Aktiven Dokument erstellen Dim oDocument As Document Set oDocument = ThisApplication.ActiveDocument Dim bErr As Boolean Dim fso As Object Set fso = CreateObject("Scripting.FilesystemObject") Dim ret As Variant Set ddoc = ThisApplication.ActiveDocument 'Nachricht fall Dokument noch nicht gespeichert ist If ddoc.FullFileName = "" Then MsgBox "Bitte zuerst die Datei speichern... " Exit Sub End If Dim oDiName As Inventor.Property On Error GoTo ErrorHandler Set oDiName = ddoc.PropertySets(4).Item("Anzeigename") 'Dateinamen mit Pfad erstellen If bErr = True Then Call oDocument.SaveAs("C:\Collaboration\Exchange\" & "Part" & ".ipt", True) FileSaveAs.ExecuteSave End If Call oDocument.SaveAs("C:\Collaboration\Exchange\" & oDiName.Value & ".ipt", True) FileSaveAs.ExecuteSave Call Export_Step MsgBox "Part/ Step wurde unter -- C:\Collaboration\Exchange -- gespeichert!!"
Exit Sub ErrorHandler: bErr = True Resume Next End Sub ------------------ MFG BlueJay Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernoAn Mitglied
Beiträge: 164 Registriert: 16.01.2014
|
erstellt am: 23. Aug. 2017 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für Bluejay
|
Ruzy5624 Mitglied Konstruktionsleiter / staatl. gepr. Techniker
Beiträge: 280 Registriert: 01.07.2015 Product Design Suite 2018 Ultimate Visual Studio 2017 Windows 10 Pro Intel Xeon E3-1245 v5 @ 3,5GHz Nvidia Quadro M4000 8GB RAM 32GB 2x 24" Monitore FullHD SpaceMouse Pro
|
erstellt am: 23. Aug. 2017 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für Bluejay
Ein ziemlich ähnlichen Fehler hatte ich auch schon einmal. Ich hatte eine Anwendung, die Bauteile automatisch speichert. Hatte jedoch nicht bedacht, dass der Anwender mir bei der Bauteilbenennung eine Strich durch die Rechnung machen kann. Bennent der Anwender zum Beispiel das Bauteil wie folgt: "Halter\Klemme" Dann erzeugt er beim speichern einen Unterordner mit dem Namen "Halter" und speichert darin das Bauteil mit dem Namen "Klemme.ipt". Grund dafür ist der Backslash, den ich aus der Benennung des Anwenders in meinem programmierten Speicherpfad übernommen habe. Vielleicht liegt bei dir ein ähnliches Problem vor, dass zum Beispiel bei deinem "Anzeigename" irgendwo der "Backslash \" enthalten ist. Dies würde zwangsläufig zur Erzeugung eines Unterordners führen. ------------------ Mit Besten Grüßen Marcel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ticky72 Mitglied
Beiträge: 35 Registriert: 17.02.2016 Inventor 2019 Win7 64Bit
|
erstellt am: 23. Aug. 2017 13:06 <-- editieren / zitieren --> Unities abgeben: Nur für Bluejay
Hallo Zusammen, kenne ebenfalls das Problem mit den Dateinamen. Besonders beim Exportieren von PDF oder Step Daten, die oft noch irgendwelche iProperties als Dateinamen haben sollen. Habe mir dafür folgendes zurechtgelegt.
Code:
Function Dateiname_bereinigen(sText As String) As String ' alle Satzzeichen entfernen Dim sQuote As String sQuote = """" sText = Replace(sText, sQuote, "") sText = Replace(sText, ",", "") 'sText = Replace(sText,".", "") sText = Replace(sText, ";", "_") sText = Replace(sText, "!", "_") sText = Replace(sText, "?", "_") sText = Replace(sText, "*", "_") 'sText = Replace(sText,"-", "") sText = Replace(sText, "+", "_") sText = Replace(sText, "/", "_") sText = Replace(sText, " ", "_") sText = Replace(sText, ":", "_") sText = Replace(sText, "\", "_") 'sText = Replace(sText,"$", "") 'sText = Replace(sText,"%", "") sText = Replace(sText, "<", "_") sText = Replace(sText, ">", "_") sText = Replace(sText, "|", "_") sText = Replace(sText, "=", "_") 'sText = Replace(sText,"(", "") 'sText = Replace(sText,")", "") sText = Replace(sText, "[", "") sText = Replace(sText, "]", "") sText = Replace(sText, "{", "") sText = Replace(sText, "}", "") 'sText = Replace(sText,"§", "") 'sText = Replace(sText,"'", "") 'sText = Replace(sText,"#", "") Dateiname_bereinigen = sText End Function
Man muss halt dann nur noch entscheiden welche Sonderzeichen beibehalten,gelöscht oder ersetzt werden sollen. Schöne Grüße Helmut [Diese Nachricht wurde von Ticky72 am 23. Aug. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bluejay Mitglied Ingenieur
Beiträge: 198 Registriert: 14.05.2007 Inventor 2011 for Simulation<P>Microsoft Windows XP Professional<P>Dell Precision T3400 Intel(R) Core(TM)2 Duo CPU E6750 @2,66 GHz 3,00 GB RAM
|
erstellt am: 23. Aug. 2017 13:12 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|