Anzeige
Archiv - Navigation
1264to1268
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

Dateiname einer doppelt geclickten Datei ermitteln

Dateiname einer doppelt geclickten Datei ermitteln
norman
Hi, brauche noch mal Hilfe!
Stellt Euch vor, ich habe eine TEST.XLA im XLSTARTUP-Ordner. Diese wird auch schön gestartet, wenn Excel aufgeht. Jetzt will ich in dieser TEST.XLA in der Funktion Workbook_Open ermitteln, welche Datei der User ggf. im Explorer doppelt angeklickt hat. Ich habe mal mit den CommandLineArguments rumprobiert, dort finde ich die Datei, die der User doppelt geklickt hat, aber nicht - ich hätte gedacht, dass der Dateiname als Parameter übergeben wird, das ist aber nicht so. Dort sieht man immer nur >\Excel.exe /e
Wo bekomme ich in VBA den Dateinamen her, den der User doppelt im Explorer geclickt hat, um die Datei mit Excel zu öffnen? Hat jemand eine Idee? Bin für Tipps dankbar :)
Viele Grüße
Norman
AW: Dateiname einer doppelt geclickten Datei ermitteln
19.06.2012 05:57:15
Hajo_Zi
Hallo Norman,
falls Du nur das öffnen abfrage willst, Egal ob Doppelklick oder über öffnen.
Aktion auslagern z.B. Open
du solltest versuchen alle Routinen in dein Addin auszulagern. Für Workbook- oder Worksheet-Ereignisroutinen müsste da allerdings was über Klassenmodule gelöst werden.
' ***Klassenmodul Klasse1***
Option Explicit
Public WithEvents xlApp As Excel.Application
Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook)
MsgBox prompt:="Es wurde eine Arbeitsmappe geöffnet!" 'Code wird ausgeführt, wenn eine  _
Mappe geöffnet wird
End Sub
' ***allg. Modul Modul1***
Option Explicit
Public ExcelNeu As New Klasse1
' ***Objektmodul DieseArbeitsmappe***
Option Explicit
Private Sub Workbook_Open()
Set ExcelNeu.xlApp = Application
End Sub


Anzeige
AW: Dateiname einer doppelt geclickten Datei ermitteln
19.06.2012 07:04:55
norman
Hallo Hajo,
klasse Idee, danke! Aber das Problem ist, dass ich das nicht auslagern kann. Ich muss direkt beim ersten Start von Excel, wenn der User neu angemeldet ist (und noch keine Addin registriert oder geladen wurde), die Datei ermitteln. Also stell Dir vor, Excel ist, bis auf die erfolgreiche Registrierung der Lizenz und das Ablegen der Datei in XLSTART noch jungfäulich.
Gruß
Norman
AW: Dateiname einer doppelt geclickten Datei ermitteln
19.06.2012 16:54:12
Hajo_Zi
Hallo Norman,
Warum nicht in der Personl.xls ablegen?
Ansonsten geht es nicht.
Gruß Hajo
Anzeige
AW: Dateiname einer doppelt geclickten Datei ermitteln
19.06.2012 17:12:53
norman
Hallo Hajo,
Das mit der Klasse funktioniert theoretisch auch, allerdings wird die Funktion xlApp_WorkbookOpen erst aufgerufen, wenn die Datei bereits geladen ist. Ich brauche den Dateinamen aber vorher, bevor sie geladen ist. Irgendwo wird der Explorer doch den Dateinamen hinlegen, schließlich muss Excel ja auch darauf zugreifen... Stöhn.
Gruß
Norman
AW: Dateiname einer doppelt geclickten Datei ermitteln
19.06.2012 17:43:51
Hajo_Zi
Hallo Norman,
bei mir wir die Personal.xlsb als erste Datei geöffnet onhe mein dazu tun. Das wird bei 2003 auch nicht anders sein.
Gruß Hajo
Anzeige
AW: Dateiname einer doppelt geclickten Datei ermitteln
19.06.2012 21:21:52
norman
Hallo Hajo, korrekt. Ich kann auch die Klasse wie von Dir vorgeschlagen erzeugen, wenn eine andere Datei durch den Doppelklick gestartet wird läuft das auch genau so wie von Dir beschrieben. Ich beschreibe einfach mal, was ich machen will, villeicht wird dann klarer, was ich brauche:
Ich will über eine datei.xla im XLSTART ordner eine COM-Add-In-DLL registrieren. Dann will ich Excel schließen und neu starten, da dann erst die DLL auch geladen wird (ich habe bisher, auch über den Makrorekorder, keine Möglichleit gefunden, die DLL "manuell" in VBA nachzuladen). Damit der User vom Schließen und wieder Öffnen nichts mitbekommt muss ich den Dateinamen kennen, den er ggf. durch doppelklicken im Explorer hat öffnen wollen, damit ich, wenn ich Excel neu starte, diese Datei dann öffnen kann. Ich weiß, dass ich die DLL auch einfach vor dem Öffnen von Excel registrieren kann, das ist aber hier keine mögliche Lösung. Ich muss die Registrierung über die datei.xla im XLSTART durchführen, Alternativen dazu habe ich keine. Ich brauche nur eins: Wie kriege ich den Dateinamen raus, am liebsten bevor die Datei, auf die der User doppelt geklickt hat, geladen wird, da das dann einfach schneller geht. Alternativ: Wie lade ich ein Com-Add-In über VBA, nachdem Excel gestartet wurde?
Bin für Tipps dankbar :)
Viele Grüße
Norman
Anzeige
AW: Dateiname einer doppelt geclickten Datei ermitteln
19.06.2012 12:34:36
norman
Noch eine Ergänzung zu Deinem Code Hajo: Funktioniert theoretisch auch, allerdings wird die Funktion erst aufgeruferufen xlApp_WorkbookOpen erst aufgerufen, wenn die Datei bereits geladen ist. Ich brauche den Dateinamen aber vorher, bevor sie geladen ist. Irgendwo wird der Explorer doch den Dateinamen hinlegen, schließlich muss Excel ja auch darauf zugreifen... Stöhn.
Gruß
Norman

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige