Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

shell

shell
22.04.2005 07:14:44
Frank
Guten Morgen,
ich hatte letztens schon einmal so was in die richtung gepostet aber mich bestimmt blöd ausgedrückt.
Ich möchte eine Datei, die in einer FileListbox selektiert ist über einen Button mit Excel ausführen lassen.
Die Datei wird gefunden über eine Drive-,Dir-, und Filelistbox. Mein Prob ist dass ich nicht weiß, wie ich die selektierte Datei in der Filelistbox ansprechen soll. Dachte mir wenn ich die Datei Anklicke soll command1_click angesprochen werden. Wie nenne ich aber jetzt die selektierte Datei damit der Shell Befehl greifen kann. Was neben bei - der shell Befehl verlangt den Pfad von Excel.exe - der ist aber auf einigen Rechnern unterschiedlich, was die sache noch komplizierter macht In der Recherche gibt es dazu einige Anmerkungen verstehe aber nur Bahnhof --> aber eins nach dem anderen. Vielleicht hat jemand zu meinem ersten Problem einen Ansatzpunkt, das nicht nur Excel sondern auch die Datei aufgeht.

Private Sub File1_Click()
Command1_Click
End Sub


Private Sub Command1_Click()
Dim File1 As Variant
File1 = Shell("h:\Microsoft Office\Office10\EXCEL.EXE", 1)
End Sub

schönen Tag noch
Frank

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: shell
22.04.2005 08:56:45
MichaV
Hi Frank,
ich finde Deinen alten Threat nicht mher. Da war doch ne Beispielmappe dabei? Bitte schick den Link nochmal.
Gruß- Micha
AW: shell
22.04.2005 14:51:26
Frank
Hallo Micha,
da ist noch nicht viel Code. Ich habe mir über VBA eine Benutzerfläche erstellt. Bis zur Auswahl der Datei sind es nur Zuweisungen zwischen dem Laufwerk und Ordner bis zur Dateiliste. Nun gehts ans Auslesen. Ich will nur Exceldateien öffnen. Mit der obigen Shell Zuweisung passiert bis auf das, dass Excel geöffnet wird nicht viel. Da ja *.xls Dateien auf jedem Rechner Excel zugewiesen sind und geöffnet werden egal wo sich das Hauptprogramm befindet müßte ich mir mit dem Shell Befehl auch noch was einfallen lassen.
Gruß Frank
https://www.herber.de/bbs/user/21560.xls
Anzeige
AW: shell oder workbooks.open Filename:=
22.04.2005 17:45:15
ransi
hallo frank
versuch doch mal workbooks.open(Filename)
Den filename kannst du dir doch aus aus deinen laufwerks- und ordner zuweisungen
als string zusammenbasteln.
für die filelistbox gibt es bestimmt sowas wie
selectedItem
oder
for each element in filelistbox
if element.selected=true then datei=element
next
oder lade die datei mitsamt code mal hoch.
Dann wirds bestimmt einfacher.
ransi
AW: shell oder workbooks.open Filename:=
22.04.2005 18:34:43
Frank
Hallo,
ich habe da es sich um ein Visual Basic 6.0 Projekt handelt den Code nur ins Modul meiner hochgeladenen Datei kopiert + das Bild wie es zur Zeit aussieht.
Bin schon etwas durch gegoogelt nach "Dateien aus Filelistboxen auslesen".
Werde weiter suchen.
Danke für Deine Mühe
Frank
https://www.herber.de/bbs/user/21572.xls
Anzeige
AW: shell oder workbooks.open Filename:=
22.04.2005 19:47:45
MichaV
Hi,
na deswegen wollt ich die Beispieldatei, weil ich in Excel keine FileListBox habe ;o)
Also VB6... Gehört das nicht ins VB- Forum? Naja, hier der mögliche Code.
Funktionsweise: zu einer Datei (z.B. e:\daten.xls) wird das verknüpfte Programm (z.B: c:\Office\Excel.exe) ermittelt und an den Shell- Befehl übergeben (Shell c:\Office\Excel.exe e:\daten.xls)
Das geht mit allen Dateien (*.doc, *.txt usw.), kann aber u.U. beim Shell- Aufruf Probleme bereiten, falls zusätzliche Parameter übergeben werden müssen. Für Excel aber kein Problem. Bin nur gespannt, wie Du die FileListBoxen in Excel einbaust.


      
Option Explicit
Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As StringByVal lpDirectory As StringByVal lpResult As StringAs Long
Private Sub Dir1_Change()
  File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
  Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_Click()
Dim Pfad As String
Pfad = Space$(256)
FindExecutable File1.Path & "\" & File1.FileName, vbNullString, Pfad
If Pfad <> "" Then
   Pfad = Left$(Pfad, InStr(Pfad, vbNullChar) - 1)
End If
If UCase$(Pfad) = UCase$(File1.Path & "\" & File1.FileName) Then Pfad = ""
Shell Pfad & " " & File1.Path & "\" & File1.FileName, vbMaximizedFocus
End Sub 


Gruß!- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: shell oder workbooks.open Filename:=
22.04.2005 20:10:55
Frank
hallo Micha,
Du hast natürlich recht - bin schon auf der suche in diversen VB-Foren. Zum erstenmal brauchte ich ein anderes steuerelement was es in Excel VBA so nicht gibt. Dachte mir aber, da man auch dateien aus Listboxen auslesen kann, muß dass doch auch gehen.
Und jetzt zu dem zweiten Punkt - es funktioniert toll. Danke, Danke
Trotzdem habe ich noch eine klitzekleine Frage.
Ich habe eine Datei die so heißt "data_int.wrk_20050316122724S". Wenn ich sie über den Explorer öffne wird dies über Excel vollzogen. Hier geht dies noch nicht. liegt das an der Dateinamenerweiterung? -- die kann ich nichtbeinflussen
Gruß Frank
Anzeige
AW: shell oder workbooks.open Filename:=
22.04.2005 20:28:50
MichaV
Hi,
ja ist schon komisch, was? Frag mich, woher der Explorer weiß, daß es eine Excel- Datei ist. Das Icon zeigt ja "unbekannte Erweiterung" an.
Versuch mal so: Nimmm die Zeile FindExecutable... raus und schreibe anstelle:


      
Open "temp.xls" For Output As #1 'Dummy anlegen
Close #1
FindExecutable "temp.xls", vbNullString, Pfad 
'Pfad zu Excel durch xls- Dummy ermitteln
Kill "temp.xls" 'Dummy löschen 


Nun hast Du den Pfad zu Excel und kannst jede x-beliebeige Datei über Excel öffnen. Egal, welche Endung.
Gruß- Micha
PS: Dateinummer ggf. mit FreeFile ermitteln, wenn Du mit weiteren geöffneten Dateien arbeitest.
Anzeige
AW: shell oder workbooks.open Filename:=
22.04.2005 20:55:11
Frank
Hallo Micha,
jetzt komme ich ja meinem (Deinem) Erfolg immer näher. Excel hats gefres... . Möglich natürlich, dass ich diesen Dateityp vor ellenlanger Zeit schonmal Excel zugewiesen habe und es deshalb funktionierte.
Ideal wäre, wenn die Datei nicht beim selektieren sondern erst beim betätigen des Ausführenbuttens aufgehen würde.
Frank
AW: shell oder workbooks.open Filename:=
22.04.2005 21:11:09
MichaV
Hi,
bei mir funzt es aber auch! Ich hab eine xl- Datei so benannt und er hat sie trotzdem geöffnet.
Zu Deinem anderen Problem... Pack den Code doch in das Click- Ereignis von CommandButton.
Musst vorher nur sicherstellen, daß eine Datei ausgewählt wurde:
if File1.FileName="" then exit sub
Gruß! Micha
Anzeige
AW: shell oder workbooks.open Filename:=
22.04.2005 21:15:41
Frank
Hi Micha,
muß mich jetzt erstmal auf den Weg zur Arbeit machen. werde es morgen früh ausprobieren.
Gruß Frank
AW: shell oder workbooks.open Filename:=
23.04.2005 06:51:37
Frank
wunderprächtig - funktioniert super - Danke
Frank

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige