Verzeichniswechsel in einem Ereignismakro wird nicht berücksichtigt

06/09/2007 - 12:37 von Walter | Report spam
Hallo

ich versuche eine Datei zu erstellen, die die Verzeichnisse aller
hàufig benötigten Dateien zu erstellen. Ich möchte gerne, dass ich bei
einem Doppelclick auf einer Zelle ein Fenster geöffnet wird (mit dem
Befehl: Application.GetOpenFilename). Das öffnen des Fensters geht
i.O. aber er wechselt nicht in das angegebene Verzeichnis.
Folgendes Ereignismakro habe ich geschrieben:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

'Wenn Zelle M3 doppelt angeklickt wird ausführen:
If Target = ActiveSheet.Cells(3, 13) Then
verzeichnis = ActiveSheet.Cells(3, 4)
ChDir (verzeichnis)
Application.GetOpenFilename
End If

'Wenn Zelle M6 doppelt angeklickt wird ausführen:
If Target = ActiveSheet.Cells(6, 13) Then
verzeichnis = ActiveSheet.Cells(6, 4)
ChDir (verzeichnis)
Application.GetOpenFilename
End If

End Sub

Was ist an dem Makro falsch? Wird eine Chdir-Anweisung in einem
Ereignismakro nicht durchgeführt?

Gruß
Walter
 

Lesen sie die antworten

#1 Wolfgang Kutsche
06/09/2007 - 22:06 | Warnen spam
Hallo Walter,

mit dem von Dir leicht abgewandelten Macro habe ich es erfolgreich getestet:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
'Wenn Zelle M3 doppelt angeklickt wird ausführen:
If Target.Address = "$M$3" Then
verzeichnis = ActiveSheet.Cells(3, 4)
'MsgBox "Verzeichnis = " & verzeichnis
ChDrive (verzeichnis)
ChDir (verzeichnis)
Application.GetOpenFilename
End If
'Wenn Zelle M6 doppelt angeklickt wird ausführen:
If Target.Address = "$M$6" Then
verzeichnis = ActiveSheet.Cells(6, 4)
'MsgBox "Verzeichnis = " & verzeichnis
ChDrive (verzeichnis)
ChDir (verzeichnis)
Application.GetOpenFilename
End If
End Sub

Zwei Dinge habe ich geàndert:
- Bezug der Zelle mit Doppelklick
- ChDrive (verzeichnis) für Laufwerkswechsel

noch ein Hinweis:
- ein Laufwerksbuchstabe mit : (z.Bsp. G:) muß mindestens in jeweiliger
Zelle "verzeichnis" stehen
- Inhalt "verzeichnis" sollte vorher geprüft werden und ggf. Meldung


Gruß Wolfgang
WinXP Home SP2, Office 2003 SP2
http://www.wk-bau-edv.de


"Walter" wrote:

Hallo

ich versuche eine Datei zu erstellen, die die Verzeichnisse aller
hàufig benötigten Dateien zu erstellen. Ich möchte gerne, dass ich bei
einem Doppelclick auf einer Zelle ein Fenster geöffnet wird (mit dem
Befehl: Application.GetOpenFilename). Das öffnen des Fensters geht
i.O. aber er wechselt nicht in das angegebene Verzeichnis.
Folgendes Ereignismakro habe ich geschrieben:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

'Wenn Zelle M3 doppelt angeklickt wird ausführen:
If Target = ActiveSheet.Cells(3, 13) Then
verzeichnis = ActiveSheet.Cells(3, 4)
ChDir (verzeichnis)
Application.GetOpenFilename
End If

'Wenn Zelle M6 doppelt angeklickt wird ausführen:
If Target = ActiveSheet.Cells(6, 13) Then
verzeichnis = ActiveSheet.Cells(6, 4)
ChDir (verzeichnis)
Application.GetOpenFilename
End If

End Sub

Was ist an dem Makro falsch? Wird eine Chdir-Anweisung in einem
Ereignismakro nicht durchgeführt?

Gruß
Walter


Ähnliche fragen