Workbooks.Open funktioniert nicht

15/05/2008 - 17:59 von Harald Battran | Report spam
Hallo,

kann mir jemand die Augen öffnen? Ich habe ein seltsames Problem:

I muß eine Excel-Datei zur Bearbeitung öffnen um Daten mittels VBA
auszulesen.

Dieser Codeschnipsl funktioniert wenn er auf einen Button gelegt ist
und durch klicken atkiviert wird:

Sub Schaltflàche2_KlickenSieAuf()
Workbooks.Open ("C:\Dokumente und Einstellungename\Desktop
\Prototyp fuer Michael\Test2.xlsm")
End Sub

Dieser Codeschnipsel funktioniert NICHT wenn er in einem VBA-Modul
liegt und mittels einer Formel im Arbeitsblatt (bei Neuberechnen)
aktiviert wird:

Public Function Dateiopen()
Dim temp As Workbook
Set temp = Workbooks.Open("C:\Dokumente und Einstellungename
\Desktop\Prototyp fuer Michael\Test2.xlsm")
temp.Activate
End Function

übrigens funktioniert das auch nicht:

Public Function Dateiopen()
Workbooks.Open("C:\Dokumente und Einstellungename\Desktop
\Prototyp fuer Michael\Test2.xlsm")
End Function

Beide Dateien sind im selben Verzeichnis. ich verwende Excel 2007 und
kann mir nur zwei möglich Ursachen denken:

1) Ich bin blind und übersehe etwas Grundlegendes
2) Irgendwo gibt es eine Sicherheitseinstellung die ich àndern sollte
um der Routine den Zugriff auf die externe Datei zu erlauben.

Kann mir irgendjemand da draußen helfen?

Herzlichen Dank!
Harald Battran
 

Lesen sie die antworten

#1 Robert Gelbmann
15/05/2008 - 19:13 | Warnen spam
Hallo Harald!

"Harald Battran" schrieb ...
[...]
Dieser Codeschnipsel funktioniert NICHT wenn er in einem VBA-Modul
liegt und mittels einer Formel im Arbeitsblatt (bei Neuberechnen)
aktiviert wird:

Public Function Dateiopen()
[...]
1) Ich bin blind und übersehe etwas Grundlegendes
2) Irgendwo gibt es eine Sicherheitseinstellung die ich àndern
sollte
um der Routine den Zugriff auf die externe Datei zu erlauben.
[...]



Benutzerdefinierte Tabellenfunktionen sollen - wie auch die
integrierten Funktionen - ein Funktionsergebnis zurückliefern und
sonst nichts ...
Dementsprechend *dürfen* sie auch (fast) nur das!

Eine benutzerdefinierte Tabellenfunktion zu nutzen, um eine
Arbeitsmappe zu öffnen, ergibt für mich keinen Sinn!

Beschreibe doch bitte mal, welche Idee du eigentlich verfolgst!?
Bei welchen Gelegenheiten soll deiner Ansicht nach diese
Arbeitsmappe geöffnet werden?

Wenn das, was du uns hier in der NG als VBA-Codeschnipsel geschickt
hast, funktionieren *würde*, würde Excel bei jeder Neuberechnung der
Formel, die betreffende Arbeitsmappe öffnen und aktivieren. Sie
bliebe dann offen und bei der nàchsten Neuberechnung würde Excel
versuchen, sie ein weiteres Mal zu öffnen usw.

Da deine Funktion keine Parameter in Empfang nimmt, würde sie - so
wie sie geschrieben ist - im Wesentlichen nur dann neu berechnet
werden, wenn sie eingegeben oder bearbeitet wird bzw. wenn der
Benutzer eine Neuberechnung neu erzwingt?!?

Eventuell ist für dich eine der Ereignisprozeduren das Richtige ...

In der Hoffnung geholfen zu haben, verbleibe ich mit einem leisen


Servus aus Wien,
-Robert Gelbmann-

The world is quiet here.

Ähnliche fragen