Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Speichern nach Dateityp

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Speichern nach Dateityp (175 mal gelesen)
FreeSpace80
Mitglied


Sehen Sie sich das Profil von FreeSpace80 an!   Senden Sie eine Private Message an FreeSpace80  Schreiben Sie einen Gästebucheintrag für FreeSpace80

Beiträge: 5
Registriert: 19.02.2021

IV 2014, IV 2020
Win10

erstellt am: 19. Feb. 2021 15:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,
ich versuche die mir den Arbeitsablauf etwas zu vereinfachen und eventuelle Nacharbeiten zu ersparen.

Der Gedanke ist, die Dateien je nach Art z.B. Baugruppe, Part, usw... in ein eigenes Verzeichnis mit einem zusammengesetzten Namen aus Projektnummer und Benutzerdefinierten Angaben des Dokuments in die jeweiligen Verzeichnisse speichert. (Baugruppen in "\Baugruppe", Zeichnungen in "\Zeichnungen", usw....)
Einen Code für die Unterscheidung von den Dateitypen habe ich schon gefunden.
Habe aber das Problem mit dem Speichern.
Wie bekomme ich es hin einen bestimmten Pfad  und einen bestimmten Dateinamen vorzugeben?
Wenn dies funktioniert benötige ich auch kein Dialog-Fenster vom Speichern.
Ich hoffe ich konnte mein Anliegen ausreichend beschreiben.

Gruß Alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik


Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 1730
Registriert: 15.11.2006

Windows 10 x64, AIP 2021

erstellt am: 19. Feb. 2021 22:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FreeSpace80 10 Unities + Antwort hilfreich

Hallo

Willkommen im Forum 

Ich denk du tust dir keinen Gefallen die Ordnerstruktur von Inventor so zu verbiegen. Das könnte dir mittelfristig Probleme verursachen. Für das Thema gibt es im Inventorforum echte Spezialisten, die dir die Problematik ausführlich darlegen können.
Das Speichern selbst zu steuern ist nicht ganz so trivial wie es zu Beginn scheint. Es sind eine Menge Randbedingungen zu prüfen und mögliche Fehlerszenarien zu behandeln. Angefangen von Laufwerksbuchstaben die nicht existieren, nicht verbundenen Netzlaufwerken, fehlenden Schreibrechten, nicht exisierende oder leere Properties, in Pfad- und Dateinamen verbotene (aber in iProps erlaubte) Sonderzeichen usw. usw.
Oder Augen zu, drauf halten und fest dran glauben dass es schon laufen wird. 

Zu deiner Frage:
Du musst den vollständigen Dateinamen inkl. Pfad als String (sFullFileName) vor dem ersten Speichern deiner Datei in die Zwischenablage von Inventor kopieren. Das geht mit

Code:
Thisapplication.CommandManager.PostPrivateEvent(kFileNameEvent, sFullFileName)

Wenn der angegebene Dateiname samt Pfad den Konventionen entspricht, benutzt ihn Inventor und der übliche Dialog wird nicht eingeblendet. Mit
Code:
Thisapplication.CommandManager.ClearPrivateEvents()

solltest du nach dem Speichern die Zwischenablage wieder leeren.

------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FreeSpace80
Mitglied


Sehen Sie sich das Profil von FreeSpace80 an!   Senden Sie eine Private Message an FreeSpace80  Schreiben Sie einen Gästebucheintrag für FreeSpace80

Beiträge: 5
Registriert: 19.02.2021

IV 2014, IV 2020
Win10

erstellt am: 20. Feb. 2021 10:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ralf,
Vielen Dank für die tolle Begrüßung.
Habe meinen Code versucht anzupassen. Bekomme aber nach dem einfügen von deinen Zeilen eine Meldung bez. "=" erwartet. ich komme da einfach nicht mehr weiter.
Bezüglich deiner Bedenken an die Ordner-Struktur: Diese gewünschten Ordner sollten immer im Arbeitsbereich vom Projekt liegen. Dann sollte dies meiner Meinung nach keine größeren Probleme verursachen.

Hier mein bisheriger Code:

Code:
Sub Speichern()

  

    'Parameter Definieren
    Dim oApp As Inventor.Application
    Dim oDoc As Document
    Dim oPart As PartDocument
    Dim oDrawing As DrawingDocument
    Dim oAssembly As AssemblyDocument
   
   
    Set oApp = ThisApplication
    Set oDoc = ThisApplication.ActiveDocument
    Dim oPropSets As PropertySets
    Set oPropSets = oDoc.PropertySets
   
    Dim oProp As Property
    Dim oPropSet As PropertySet
   
   ' Dim oDescription As Property
   

    Set fs = CreateObject("Scripting.FileSystemObject")
    oPath = oApp.FileLocations.Workspace

    'Ordner Abfragen / Erstellen
    If Not fs.FolderExists(oPath & "\Assembly") Then MkDir oPath & "\Assembly"
    If Not fs.FolderExists(oPath & "\Part") Then MkDir oPath & "\Part"
    If Not fs.FolderExists(oPath & "\Drawing") Then MkDir oPath & "\Drawing"
    If Not fs.FolderExists(oPath & "\PDF") Then MkDir oPath & "\PDF"
    If Not fs.FolderExists(oPath & "\STEP") Then MkDir oPath & "\STEP"
    If Not fs.FolderExists(oPath & "\DXF") Then MkDir oPath & "\DXF"
   

    'Dokumententyp abfragen

    Dim eDocumentType As DocumentTypeEnum

    eDocumentType = oDoc.DocumentType

  

    Dim sDocumentType As String

    Select Case eDocumentType:

    Case kAssemblyDocumentObject

        sDocumentType = "Assembly Document"

    Case kDesignElementDocumentObject

        sDocumentType = "DesignElement Document"

    Case kDrawingDocumentObject

        sDocumentType = "Drawing Document"

    Case kForeignModelDocumentObject

        sDocumentType = "ForeignModel Document"

    Case kPartDocumentObject

        sDocumentType = "Part Document"

    Case kUnknownDocumentObject

        sDocumentType = "Unknown Document"

    End Select

      

    'Dokumenten Untergruppe abfragen

    Dim sDocumentSubType As String

        sDocumentSubType = oDoc.SubType

  

    Dim sReadableType As String

    'Part Dokument Untergruppen

    'Part

    Select Case sDocumentSubType:

    Case "{4D29B490-49B2-11D0-93C3-7E0706000000}"

        sReadableType = "part"

    'Blech-Part

    Case "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}"

        sReadableType = "sheet metal"

    'Baugruppen Untergruppe

    Case "{E60F81E1-49B3-11D0-93C3-7E0706000000}"

        sReadableType = "assembly"

  

    'Zeichnung Untergruppe
    Case "{BBF9FDF1-52DC-11D0-8C04-0800090BE8EC}"

        sReadableType = "drawing"

    End Select

'Namensbestandteile auslesen bez. setzen

    Dim sFullFileName As String
    Dim oDescrition As PropertySet
    Dim oTitel As PropertySet
    Dim oProjektnummer As PropertySet
    Dim oBereich As PropertySet
    Dim sName1 As String
    Dim sName2 As String
    Dim sName3 As String
    Dim sTemp1
    Dim sTemp2
    Dim sTemp3
    '----
    Set oDescription = ThisApplication.ActiveDocument.PropertySets("Design Tracking Properties")
    sName1 = oDescription.Item("Description").Value
    Set oTitel = ThisApplication.ActiveDocument.PropertySets("Inventor Summary Information")
   
    Set oProjektnummer = ThisApplication.ActiveDocument.PropertySets("Inventor User Defined Properties")
    sName2 = oProjektnummer.Item("Projektnummer").Value
    Set oBereich = ThisApplication.ActiveDocument.PropertySets("Inventor User Defined Properties")
    sName3 = oBereich.Item("Bereich").Value

   
    If oDescription.Item("Description").Value = "" Then
        sTemp1 = InputBox("Eingabe", "Beschreibung", sName1)
        If sTemp1 = "" Then Exit Sub ' war Cancel
        oDescription.Item("Description").Value = sTemp1
    End If
    If oProjektnummer.Item("Projektnummer").Value = "" Then
        sTemp2 = InputBox("Eingabe", "Projektnummer", sName2)
        If sTemp2 = "" Then Exit Sub ' war Cancel
        oProjektnummer.Item("Projektnummer").Value = sTemp2
    End If
    If oBereich.Item("Bereich").Value = "" Then
        sTemp3 = InputBox("Eingabe", "Bereich", sName3)
        If sTemp3 = "" Then Exit Sub ' war Cancel
        oBereich.Item("Bereich").Value = sTemp3
    End If
 


'Dateinamen mit Pfad definieren

If sReadableType = "assembly" Then

    sFullFileName = oPath & "\Assembly\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "_" & oDescription.Item("Description").Value & ".iam"

End If

If sReadableType = "part" Or sReadableType = "sheet metal" Then

    sFullFileName = oPath & "\Part\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "_" & oDescription.Item("Description").Value & ".ipt"

End If

If sReadableType = "drawing" Then
   
    sFullFileName = oPath & "\Drawing\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "_" & oDescription.Item("Description").Value & ".idw"

End If

'Dateinamen in Zwischenablage speichern

ThisApplication.CommandManager.PostPrivateEvent(kFileNameEvent, sFullFileName)

'Zwischenablage leeren

ThisApplication.CommandManager.ClearPrivateEvents()


End Sub


Ich hoffe ihr seid gnädig mit mir  

[Diese Nachricht wurde von FreeSpace80 am 20. Feb. 2021 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik


Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 1730
Registriert: 15.11.2006

Windows 10 x64, AIP 2021

erstellt am: 20. Feb. 2021 10:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FreeSpace80 10 Unities + Antwort hilfreich

Moin

Du musst die beiden Methoden mit Call aufrufen.

Code:

Call ThisApplication.CommandManager.PostPrivateEvent(kFileNameEvent, sFullFileName)
Call ThisApplication.CommandManager.ClearPrivateEvents()

Mir sind beim Überfliegen schon zwei, drei Sachen aufgefallen, die man kürzen könnte. Teilweise ist unnötiger Code enthalten. Vermutlich noch nicht bereinigt.  Als Empfehlung, kommentiere solche Codeteile wenigstens aus. Das erleichtert dir die Arbeit.
Der "Overhead" macht in Funktion und Geschwindigkeit keinen nennenswerten Unterschied. Nur die Lesbarkeit wäre besser.

Wenn du über PostPrivateEvent den kompletten Pfad mitgibst, erstellt der Speichern-Befehl (der fehlt übrigens noch) die Ordner selbst. Die Ordnerstruktur immer komplett anzulegen erzeugt u.U. mit der Zeit viele leere Ordner.

------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FreeSpace80
Mitglied


Sehen Sie sich das Profil von FreeSpace80 an!   Senden Sie eine Private Message an FreeSpace80  Schreiben Sie einen Gästebucheintrag für FreeSpace80

Beiträge: 5
Registriert: 19.02.2021

IV 2014, IV 2020
Win10

erstellt am: 20. Feb. 2021 17:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Ralf,

Vielen Dank für deine Hilfe.
Habe es jetzt endlich hinbekommen.
Wenn gewünscht dann poste ich meinen Code.

Nochmals Danke.

Grüße aus dem Schwarzwald

Alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik


Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 1730
Registriert: 15.11.2006

Windows 10 x64, AIP 2021

erstellt am: 21. Feb. 2021 08:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FreeSpace80 10 Unities + Antwort hilfreich

Moin

Schön das es funktioniert. Den Code posten kannst du gern machen, ist aber keine Pflicht.

------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FreeSpace80
Mitglied


Sehen Sie sich das Profil von FreeSpace80 an!   Senden Sie eine Private Message an FreeSpace80  Schreiben Sie einen Gästebucheintrag für FreeSpace80

Beiträge: 5
Registriert: 19.02.2021

IV 2014, IV 2020
Win10

erstellt am: 21. Feb. 2021 15:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ralf, nochmals vielen Dank.

hier mein vorläufig finaler Code:

Code:
Sub Speichern()

    'Parameter Definieren
    Dim oApp As Inventor.Application
    Dim oDoc As Document
    Dim oPart As PartDocument
    Dim oDrawing As DrawingDocument
    Dim oAssembly As AssemblyDocument
   
    Set oApp = ThisApplication
    Set oDoc = ThisApplication.ActiveDocument
    Dim oPropSets As PropertySets
    Set oPropSets = oDoc.PropertySets
   
    Dim oProp As Property
    Dim oPropSet As PropertySet

    Set fs = CreateObject("Scripting.FileSystemObject")
    oPath = oApp.FileLocations.Workspace

    'Dokumententyp abfragen

    Dim eDocumentType As DocumentTypeEnum

    eDocumentType = oDoc.DocumentType

 

    Dim sDocumentType As String

    Select Case eDocumentType:

    Case kAssemblyDocumentObject

        sDocumentType = "Assembly Document"

    Case kDrawingDocumentObject

        sDocumentType = "Drawing Document"

    Case kPartDocumentObject

        sDocumentType = "Part Document"

    End Select

     

    'Dokumenten Untergruppe abfragen

    Dim sDocumentSubType As String

        sDocumentSubType = oDoc.SubType

 

    Dim sReadableType As String

    'Part Dokument Untergruppen

    'Part

    Select Case sDocumentSubType:

    Case "{4D29B490-49B2-11D0-93C3-7E0706000000}"

        sReadableType = "part"

    'Blech-Part

    Case "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}"

        sReadableType = "sheet metal"

    'Baugruppen Untergruppe

    Case "{E60F81E1-49B3-11D0-93C3-7E0706000000}"

        sReadableType = "assembly"

    'Zeichnung Untergruppe
    Case "{BBF9FDF1-52DC-11D0-8C04-0800090BE8EC}"

        sReadableType = "drawing"

    End Select

'Namensbestandteile auslesen bez. setzen

    Dim sFullFileName As String
    Dim oDescrition As PropertySet
    Dim oTitel As PropertySet
    Dim oProjektnummer As PropertySet
    Dim oBereich As PropertySet
    Dim oRev As PropertySet
    Dim sRev As String
    Dim sName1 As String
    Dim sName2 As String
    Dim sName3 As String
    Dim sTemp1
    Dim sTemp2
    Dim sTemp3
   

    Set oDescription = ThisApplication.ActiveDocument.PropertySets("Design Tracking Properties")
    sName1 = oDescription.Item("Description").Value
    Set oProjektnummer = ThisApplication.ActiveDocument.PropertySets("Inventor User Defined Properties")
    sName2 = oProjektnummer.Item("Projektnummer").Value
    Set oBereich = ThisApplication.ActiveDocument.PropertySets("Inventor User Defined Properties")
    sName3 = oBereich.Item("Bereich").Value
    Set oRev = ThisApplication.ActiveDocument.PropertySets("Inventor Summary Information")
   
    If oDescription.Item("Description").Value = "" Then
        sTemp1 = InputBox("Bitte Beschreibung eingeben.", "Eingabe", sName1)
        If sTemp1 = "" Then Exit Sub
        oDescription.Item("Description").Value = sTemp1
    End If
    If oProjektnummer.Item("Projektnummer").Value = "" Then
        sTemp2 = InputBox("Bitte Projektnummer eingeben.", "Eingabe", sName2)
        If sTemp2 = "" Then Exit Sub
        oProjektnummer.Item("Projektnummer").Value = sTemp2
    End If
    If oBereich.Item("Bereich").Value = "" Then
        sTemp3 = InputBox("Bitte den Bereich / die Baugruppe eingeben.", "Eingabe", sName3)
        If sTemp3 = "" Then Exit Sub
        oBereich.Item("Bereich").Value = sTemp3
    End If
 


'Dateinamen mit Pfad definieren

If sReadableType = "assembly" Then

        If oRev.Item("Revision Number").Value = "" Then
        sFullFileName = oPath & "\Assembly\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "_" & oDescription.Item("Description").Value & ".iam"
        Else
        sFullFileName = oPath & "\Assembly\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "-" & oRev.Item("Revision Number").Value & "_" & oDescription.Item("Description").Value & ".iam"
        End If
       
End If

If sReadableType = "part" Then

        If oRev.Item("Revision Number").Value = "" Then
        sFullFileName = oPath & "\Part\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "_" & oDescription.Item("Description").Value & ".ipt"
        Else
        sFullFileName = oPath & "\Part\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "-" & oRev.Item("Revision Number").Value & "_" & oDescription.Item("Description").Value & ".ipt"
        End If
       
End If

If sReadableType = "sheet metal" Then
    Dim oFace As Face
    Dim oThicknessParam As Parameter
    Dim oSheetMetalCompDef As SheetMetalComponentDefinition
    Dim dArea As Double
    Dim dVolume As Double
    Dim dContour As Double
    Dim dThickness As Double
    Dim oContour As PropertySet
   
    Set oPart = ThisApplication.ActiveDocument
   
    dArea = 0
   
    For Each oFace In oPart.ComponentDefinition.SurfaceBodies(1).Faces
    dArea = dArea + oFace.Evaluator.Area
    Next
    dVolume = oPart.ComponentDefinition.SurfaceBodies(1).Volume(0.01)
    Set oSheetMetalCompDef = oPart.ComponentDefinition
    Set oThicknessParam = oSheetMetalCompDef.Thickness
    dThickness = oThicknessParam.ModelValue
    dContour = (dArea - (2 * (dVolume / dThickness))) / dThickness
   
    Set oContour = ThisApplication.ActiveDocument.PropertySets("Inventor User Defined Properties")
    oContour.Item("Konturlänge").Value = Round(dContour * 10, 2) & " mm"
   
        If oRev.Item("Revision Number").Value = "" Then
        sFullFileName = oPath & "\Blech\" & dThickness * 10 & "mm\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "_" & oDescription.Item("Description").Value & ".ipt"
        Else
        sFullFileName = oPath & "\Blech\" & dThickness * 10 & "mm\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "-" & oRev.Item("Revision Number").Value & "_" & oDescription.Item("Description").Value & ".ipt"
        End If
   
End If

If sReadableType = "drawing" Then
    If oRev.Item("Revision Number").Value = "" Then
    sFullFileName = oPath & "\Drawing\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "_" & oDescription.Item("Description").Value & ".idw"
    Else
    sFullFileName = oPath & "\Drawing\" & oProjektnummer.Item("Projektnummer").Value & "_" & oBereich.Item("Bereich").Value & "-" & oRev.Item("Revision Number").Value & "_" & oDescription.Item("Description").Value & ".idw"
    End If
End If

'Dateinamen in Zwischenablage speichern

Call ThisApplication.CommandManager.PostPrivateEvent(kFileNameEvent, sFullFileName)

oApp.SilentOperation = True
On Error Resume Next
oDoc.SaveAs sFullFileName, False
oApp.SilentOperation = False

Call ThisApplication.CommandManager.ClearPrivateEvents

End Sub


MfG

Alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KraBBy
Mitglied
Maschinenbau-Ingenieur


Sehen Sie sich das Profil von KraBBy an!   Senden Sie eine Private Message an KraBBy  Schreiben Sie einen Gästebucheintrag für KraBBy

Beiträge: 391
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 22. Feb. 2021 09:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FreeSpace80 10 Unities + Antwort hilfreich

Guten Morgen,

hab nicht den ganzen Code gelesen, aber am Ende verwendest Du "oDoc.SaveAs ...". Dabei wird auch der Dateiname samt Pfad angegeben, dh. das PostPrivateEvent ist dabei überflüssig. Oder aber die Verwendung von .SaveAs ist nicht richtig (oder beabsichtigt).

Wann wird denn dieses Makro ausgeführt? Ist das Dokument da bereits (wo anders) gespeichert?

Warum das On Error Resume Next vor dem Speichern? Es wäre doch schlecht, wenn das fehlschlägt und Du es aber nicht mitbekommst, oder?

------------------
Gruß KraBBy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FreeSpace80
Mitglied


Sehen Sie sich das Profil von FreeSpace80 an!   Senden Sie eine Private Message an FreeSpace80  Schreiben Sie einen Gästebucheintrag für FreeSpace80

Beiträge: 5
Registriert: 19.02.2021

IV 2014, IV 2020
Win10

erstellt am: 22. Feb. 2021 09:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin KraBBy,

Zitat:
Wann wird denn dieses Makro ausgeführt? Ist das Dokument da bereits (wo anders) gespeichert?

Die Datei ist vorher nicht gespeichert.
Das funktioniert auch sehr gut muss ich sagen. Mit "Save" habe ich es nicht hinbekommen (warum auch immer) (Bin da noch nicht so firm in der ganzen Sache). Und wenn die Datei schon gespeichert wurde funktioniert das auch ohne Probleme.

Mit dem "On Error" hast du natürlich recht. werde es mir nochmal anpassen.

Gruß Alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2021 CAD.de | Impressum | Datenschutz