XLS Datei öffnen und dabei die geschütze Ansicht entfernen per VBA
Hallo zusammen,
wir würden gern eine bestimmte Mail auslesen, deren Dateianhang abspeichern und danach die Datei und eine Übersicht öffnen um die Tageswerte zu übertragen.
Auslesen und Abspeichern ist kein Problem. Beim Öffnen kommt die Meldung, dass ein Problem mit der Datei erkannt wurde und die Datei öffnet in der geschützten Ansicht.
Hier bleibt auch der VBA Code hängen (Workbooks.Open Filename...).
Wir speichern die Datei im Netzwerk und können aufgrund von unseren Userrechten keinen geschützten Ordner anlegen, dass heißt VBA müsste beim Öffnen die Datei editieren.
Dazu hatte ich über meinen Freund "Google" schon folgendes gefunden:
Leider klappt das beim öffnen der Dateien nicht, oder ich kann es mit meinen Wissensstand nicht einbauen.
Habt ihr eine Idee, ob und wie ich das mit VBA lösen kann?
Anbei noch der nicht fertige Code:
Vielen Dank euch schon einmal
Viele Grüße
Jens
wir würden gern eine bestimmte Mail auslesen, deren Dateianhang abspeichern und danach die Datei und eine Übersicht öffnen um die Tageswerte zu übertragen.
Auslesen und Abspeichern ist kein Problem. Beim Öffnen kommt die Meldung, dass ein Problem mit der Datei erkannt wurde und die Datei öffnet in der geschützten Ansicht.
Hier bleibt auch der VBA Code hängen (Workbooks.Open Filename...).
Wir speichern die Datei im Netzwerk und können aufgrund von unseren Userrechten keinen geschützten Ordner anlegen, dass heißt VBA müsste beim Öffnen die Datei editieren.
Dazu hatte ich über meinen Freund "Google" schon folgendes gefunden:
If Application.ProtectedViewWindows.Count > 0 Then
Application.ActiveProtectedViewWindow.Edit
End If
Leider klappt das beim öffnen der Dateien nicht, oder ich kann es mit meinen Wissensstand nicht einbauen.
Habt ihr eine Idee, ob und wie ich das mit VBA lösen kann?
Anbei noch der nicht fertige Code:
Sub Mail_auslesen()
Dim Out As Outlook.MAPIFolder
Dim i As Integer, intz As Integer, txtContent As String
Dim objDoc2 As Object
Application.StatusBar = "Daten werden ausgelesen. Bitte warten."
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Out = GetObject("", "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
i = Out.Items.Count
intz = 0
For intz = 1 To i
With Out.Items(intz)
If .SenderName = "max.musterman@muster.de" And .Subject = "GHB_" & Format(Now - 1, "DD.MM.YYYY") & ".xls" Then
Set outmail = Out.Items(intz)
outmail.Attachments.Item(1).SaveAsFile "\\Server\groups2\BBB\Service & Sales\Support\ABC\02_Check\GHB_Date\" & Format(Now - 1, "YYYY") & "\" & Format(Now - 1, "MM_MMMM_YYYY") & "\" & outmail.Attachments.Item(1)
End If
End With
Next
Set Out = Nothing
Workbooks.Open Filename:="\\Server\groups2\BBB\Service & Sales\Support\ABC\02_Check\GHB_Date\" & Format(Now - 1, "YYYY") & "\" & Format(Now - 1, "MM_MMMM_YYYY") & "\GHB_" & Format(Now - 1, "DD.MM.YYYY") & ".xls"
ActiveWorkbook.SaveAs Filename:="H:\privat\GHB\GHB_" & Format(Now - 1, "DD.MM.YYYY") & ".xls", Password:="abc"
Application.DisplayAlerts = True
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub
Vielen Dank euch schon einmal
Viele Grüße
Jens
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 366423
Url: https://administrator.de/forum/xls-datei-oeffnen-und-dabei-die-geschuetze-ansicht-entfernen-per-vba-366423.html
Ausgedruckt am: 23.12.2024 um 17:12 Uhr
2 Kommentare
Neuester Kommentar
Wir speichern die Datei im Netzwerk und können aufgrund von unseren Userrechten keinen geschützten Ordner anlegen, dass heißt VBA müsste beim Öffnen die Datei editieren.
Datei lokal zischenspeichern, bearbeiten, speichern, und dann aufs Netzlaufwerk verschieben, fertig ..xls
Oh hauahauaha, Makroviren welcome .Beim Öffnen kommt die Meldung, dass ein Problem mit der Datei erkannt wurde
Wandel sie zu xlsx bzw. xlsm. Kann das hier mit einer xls auf einem Netzlaufwerk nicht nachstellen. Also besser konvertieren und in den IE Settings sicherstellen das der UNC-Pfad in der sicheren Intranet Zone freigeschaltet ist. Wenn es am Zone-Bit liegt das kann man auch abschaltenHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments
Ein DWORD mit SaveZoneInformation auf 1 anlegen.
Ich denke aber das es an der Datei selbst liegt weil ich das hier definitiv nicht nachstellen kann auch wenn ich das Zone-Bit explizit setze lässt sich das File problemlos in normaler Editieransicht via VBA öffnen (Excel 2016).
Leider erwähnst du dein verwendetes OS und Office Version nicht.
Grüße Uwe