none
Word2010 VBA löscht DOC-Dateien auf Netzlaufwerk RRS feed

  • Allgemeine Diskussion

  • Ich öffne per VBA und Filedialog eine DOC-Datei auf dem Netzlaufwerk, prüfe auf Formularschutz und hebe diesen ggf. auf, füge die Datei per "insertfile" in das aktive DOCX-Dokument ein und setze den Formularschutz falls die DOC-Datei geschützt war; anschließend schließe ich die DOC-Datei ohne speichern.

    Schließe ich dann das aktive DOCX-Dokument ohne Speichern ist die DOC-Datei gelöscht sofern diese auf einem Netzlaufwerk bzw. VMShare des Hostes lag.

    Nicht gelöscht wird die Datei wenn sie auf einer lokalen Platte liegt oder eine DOCX-Datei ist.

    Falls es dafür keine Erklärung gibt, muss ich meine Routine umprogrammieren und mit einer Kopie der Datei arbeiten.

    Hier ein (verkürzter) Testcode mit dem es auch funktioniert:

    Sub einfuegen()
    
        Set mydoc = Documents.Add
        
        'Dateiöffnendialog
        Set de = Application.FileDialog(msoFileDialogOpen)
        With de
            .Title = "THB auswählen"
            .AllowMultiSelect = False
            .Filters.Clear
            .InitialFileName = "z:\*.doc"
            .Filters.Add "Alle Dateien", "*.*"
        End With
        If de.Show = -1 Then
            de.Execute
        End If
        'Per Dialog ausgewählte Datei wird geöffnet
        Set thbdok = ActiveDocument
    
        With mydoc
            .Range.Collapse Direction:=wdCollapseEnd
            .Range.InsertFile thbdok.Name
        End With
    
        thbdok.Close savechanges:=wdDoNotSaveChanges
    
        Set mydoc = Nothing
        Set thbdok = Nothing
        Set de = Nothing
    End Sub
    

    Mittwoch, 4. April 2012 12:45

Alle Antworten