kaiuwe28
Goto Top

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:

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 face-smile

Viele Grüße

Jens

Content-Key: 366423

Url: https://administrator.de/contentid/366423

Printed on: April 25, 2024 at 16:04 o'clock

Member: colinardo
colinardo Feb 28, 2018 updated at 15:44:28 (UTC)
Goto Top
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 face-smile.
.xls
Oh hauahauaha, Makroviren welcome face-smile.
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 abschalten
HKEY_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
Member: kaiuwe28
kaiuwe28 Mar 02, 2018 at 12:21:58 (UTC)
Goto Top
Hi Uwe, vielen Dank für deine Hilfe und Hinweise.

Datei lokal zischenspeichern, bearbeiten, speichern, und dann aufs Netzlaufwerk verschieben, fertig face-smile.

Leider klappt das auch nicht face-sad
Hatten wir schon getestet

Oh hauahauaha, Makroviren welcome face-smile.

Mail kommt von intern und aus einem internen System (SAS), daher sollte das nicht passieren

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 abschalten
HKEY_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).

Ich kann leider die Registry Einträge nicht anpassen - ist nur für Administratoren

Leider erwähnst du dein verwendetes OS und Office Version nicht.

Wir nutzen Office 16


Wir werden beim Ersteller ein anderes Format anfordern, damit wir hier besser verarbeiten können.
Wir wollten vorher nur mal prüfen, ob es auch anderes geht.