Anzeige
Archiv - Navigation
1256to1260
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

workbooks.open unter 2010 - HELP

workbooks.open unter 2010 - HELP
Doro
Hallo Zusammen,
ich verzweifle langsam aber sicher, und leider hat mir Google auch nicht weitergeholfen...
Ich habe ein Makro unter 2003 geschrieben (Code-Auszug s.u.), welches am Anfang eine Datei öffnen soll. Das funktioniert auch wunderbar mit 2003. Jetzt hat eine Kollegin 2010 installiert bekommen, und erhält den Laufzeitfehler 1004 bei der Methode workbooks.open. (Merkwürdigerweise hat es genau einmal funktioniert?).
Ich habe dann "Datei öffnen" mit dem Makrorekorder aufgezeichnet, und auch dieses aufgezeichnete Makro liefert den Laufzeitfehler.
Hat irgendjemand eine Idee? Irgendeine Sicherheitseinstellung oder so? Würde mich sehr freuen!
Viele Grüße,
Doro
Set Ordner = fs.getfolder("G:\DATA\B - Data Requests")
If Ordner.subfolders.Count * 1 + Ordner.Files.Count * 1 0 Then _
ChDir Ordner
FileToOpen = Application.GetOpenFilename(fileFilter:="request file (*.xls; *.xlsx),*.xls; *.xlsx", _
Title:="Please select the Data Request Sheet.")
If FileToOpen = False Then Exit Sub
With Application
.AskToUpdateLinks = False
.DisplayAlerts = False
.Workbooks.Open Filename:=FileToOpen
.AskToUpdateLinks = True
.DisplayAlerts = True
End With

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: workbooks.open unter 2010 - HELP
04.04.2012 18:44:59
Rolf
Hallo Doro,
gleiches Problem gehabt. Excel/VBA für andere Anwender erstellt und dann Frust. - Weil unterschiedliche Billy-Versionen. Wenn es nur am Suffix liegt, versuch's mal mit folgendem Code:
Option Explicit
Public sfx As String
Public Sub Inp_Suffix()
'   Ermittelt das Suffix der aktuellen Datei und
'   speichert es in der öffentlichen Variablen "sfx"
Dim st As Integer   'st = Stelle
Dim bst As String   'bst = Buchstabe
Dim sfx As String   'sfx = suffix
Do Until Left(bst, 1) = Chr(46)
st = st + 1
bst = Right(ActiveWorkbook.Name, st)
If bst = Chr(46) Then
Exit Sub
End If
Loop
sfx = Right(ActiveWorkbook.Name, (st - 1))
'MsgBox "Suffix der aktuellen Datei = " & sfx
End Sub

Anzeige
AW: workbooks.open unter 2010 - HELP
05.04.2012 11:32:11
Doro
Hallo Rolf,
vielen Dank für Deine Antwort! Leider ist das nicht die Lösung. Das Suffix ist .xlsx und wird auch inkl. Pfad korrekt eingelesen und in FileToOpen gespeichert.
Hat noch jemand ne Idee?
Viele Grüße und vielen Dank,
Doro
AW: workbooks.open unter 2010 - HELP
07.04.2012 03:03:56
fcs
Hallo Doro,
ich hab dein Makro-Gerüst mal soweit ergänzt, dass es bei mir unter Excel 2010 lauffähig ist.
(Variablendeklaration + Set - Anweisung für "FileScriptingObject".
Es funktioniert bei mir. Ich hab auf einem lokalen Laufwerk getestet und nicht in einem Netzlaufwerk. Allerding musste ich noch einen Laufwerkswechsel einfügen, damit das richtige Verzeichnis im Dateiauswahldialog angezeigt wird.
Warum bei der Kollegin Probleme auftreten? Keine Ahnung. Da das per Makro-Recorder aufgezeichnete Öffnen der Datei auch nicht funktioniert, wird es jetzt schwierig.
Als erstes mal beim Systemadmin nachfragen, ob Makrozugriffe auf Dateien im Netzlaufwerk generell geblockt werden.
Dann unter den Excel-Optionen der Kollegin mal die Einstellungen im Sicherheitscenter prüfen/anpassen.
1. Active-X Einstellungen
Userbild
Hier evtl. "Abgesicherten Modus" deaktivieren"
2. Vertrauenswürdige Speicherorte
Userbild
Hier ggf. die Option für Netzlaufwerke zulassen und das Verzeichnis "G:\DATA\B - Data Requests" inkl. Unterverzeichnis in der Liste der vertrauenswürdigen Orte hinzufügen.
3. Makro-Anpassung
Im Makro wird wird die Aktualisierung der Links vorübergehend deaktiviert und auch die Alarme. Evtl. ist da was an Problemen verborgen.
Probiere mal folgendes - So sollte die Datei auch ohne Linkaktualisierung geöffnet werden.:
  With Application
.Workbooks.Open Filename:=FileToOpen, UpdateLinks:=False
End With
Link-Aktualisierungen in nicht vertrauenswürdige Speicherort erfordern in Excel nämlich auch manuelle Bestätigungen.
Da ich mit Excel 2010 auch erst ein paar Wochen arbeite, kann ich nicht sagen, ob eine der 3 Maßnahmen erfolgreich ist oder ggf. eine Kombination mehrerer Maßnahmen. Also immer erst eine Änderung machen, Datei speichern, schließen und wieder öffnen.
Viel Glück beim Probieren.
Gruß
Franz
Private Sub Workbook_Open()
Dim FileToOpen As Variant
Dim fs As Object, Ordner As Object
Dim strPath
strPath = "G:\DATA\B - Data Requests"
'strPath = "H:\DATA\B - Data Requests"
Set fs = CreateObject("Scripting.FileSystemObject")
'  Set Ordner = fs.getfolder("G:\DATA\B - Data Requests")
Set Ordner = fs.getfolder(strPath)
'ggf.Laufwerk wechseln
If Left(VBA.CurDir, 1)  Left(strPath, 1) Then VBA.ChDrive Left(strPath, 1)
If Ordner.subfolders.Count * 1 + Ordner.Files.Count * 1  0 Then _
ChDir Ordner
FileToOpen = Application.GetOpenFilename( _
fileFilter:="request file (*.xls; *.xlsx),*.xls; *.xlsx", _
Title:="Please select the Data Request Sheet.")
If FileToOpen = False Then Exit Sub
With Application
.AskToUpdateLinks = False
.DisplayAlerts = False
.Workbooks.Open Filename:=FileToOpen
.AskToUpdateLinks = True
.DisplayAlerts = True
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige