Verschiedene Datein aus einer aufrufen

Hallo liebe Experten,

ich habe folgendes Problem:
Ich möchte ein Formular unter VB programmieren,
das 4 Commandbuttons enthält.
Über jeden Button wird ein anderes Excel-Programm geöffnet.
Beim Schließen desselben landet man wieder auf dem Formular.

Ist das möglich?
Wie mache ich mein Formular lauffähig außerhalt der Programmierumgebung?
Besteht die Möglichkeit, das ganze auf CD zu brennen und beim Einlegen der CD automatisch das Formular zu öffen?

So viele Fragen,
hoffe auf ebenso viele (oder mehr :smile:) Antworten.

Danke,
stephy27

Hallo Stephy,

Ich möchte ein Formular unter VB programmieren,
das 4 Commandbuttons enthält.
Über jeden Button wird ein anderes Excel-Programm geöffnet.
Beim Schließen desselben landet man wieder auf dem Formular.

Ist das möglich?

klar. Der Code für den ersten Button würde bei mir lauten:

Private Sub Command1\_Click()
 Shell "Excel.exe -/C:\EXTest.xls", vbNormalFocus
End Sub

Den richtigen Namen der Datei mußt Du noch eintragen … :wink:
Der Code für die anderen Button sieht dann genau so aus.

Wie mache ich mein Formular lauffähig außerhalt der
Programmierumgebung?

Auf kompilieren klicken … sprichst Du auch wirklich über VB? Oder VBA? Von VBA habe ich keine Ahnung.

Besteht die Möglichkeit, das ganze auf CD zu brennen und beim
Einlegen der CD automatisch das Formular zu öffen?

Ja. (Ich rede immer noch von VB. :wink:

Gruß, Rainer

Hallo, Stephy!

ich habe folgendes Problem:
Ich möchte ein Formular unter VB programmieren,
das 4 Commandbuttons enthält.
Über jeden Button wird ein anderes Excel-Programm geöffnet.

Excel-Datei? Und dann ggf. vier Dateien in einem Excel? Oder müssen unbedingt 4 Excel-Instanzen geöffnet werden?

Beim Schließen desselben landet man wieder auf dem Formular.

Das wird schon ekelhafter. Kann man nach dem Öffnen des ersten Excels auch die weiteren Öffnen, oder muss erst das erste Excel wieder geschlossen werden?

Ist das möglich?

Ja. Möglich ist (nahezu) alles. Nur was willst Du genau?

Wie mache ich mein Formular lauffähig außerhalt der
Programmierumgebung?

Unetr was denn? VB? Dann einfach eine EXE erstellen.

Besteht die Möglichkeit, das ganze auf CD zu brennen und beim
Einlegen der CD automatisch das Formular zu öffen?

Geht, wenn die VB-Runtime auf dem Zielsystem vorhanden ist. Ansonsten müsste die erst installiert werden. Alternativ kannst Du eine Programmierumgebung verwenden, die als Ausgabe eine „richtige“, d. h. eigenständig lauffähige EXE erzeugt, wie z. B. Delphi.

Ich liebe es, Fragen mit Gegenfragen zu beantworten…

Gruß, Manfred

Hallo Rainer,

das klingt ja schon mal gut.
Wenn ich das jetzt so mache und dann auf CD brenne,
stehen die Daten ja nicht mehr auf „C“.
Geht das dann trotzdem?

Spreche auch wirklich über VB :smile:
Kannst Du mir verraten, wie ich das ganze automatisch zum Laufen bringe?

Gruß,
stephy

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo, Stephy!

das klingt ja schon mal gut.
Wenn ich das jetzt so mache und dann auf CD brenne,
stehen die Daten ja nicht mehr auf „C“.
Geht das dann trotzdem?

Wenn Du den Pfad mit eingibst, nicht. Wenn Du einen relativen Pfad verwendest, sollte es gehen. Aber wie gesagt nur, wenn auf dem Zielsystem die Runtime vorhanden ist.

Kannst Du mir verraten, wie ich das ganze automatisch zum
Laufen bringe?

Zum einen muss es eine Autorun.inf vorhanden sein, die definiert, welche Datei wie zu öffnen ist. Zum anderen muss das Laufwerk so eingestellt sein, dass es automatisch beim Einlegen einer CD startet (über die Systemsteuerung).

Gruß, Manfred

Hallo Stephy,

das klingt ja schon mal gut.
Wenn ich das jetzt so mache und dann auf CD brenne,
stehen die Daten ja nicht mehr auf „C“.
Geht das dann trotzdem?

Ja. Du meinst, die zu öffnenden Dateien sollen auch mit auf die CD? Dann kannst Du den Pfad des CD-Roms fest in den Code eingeben oder den Pfad mit app.path angeben.

Private Sub Command1\_Click()
 pfd = App.Path
 If Right(pfd, 1) "/" Then
 pfd = pfd + "\"
 End If
 Shell "Excel.exe -/" + pfd + "EXTest.xls", vbNormalFocus
End Sub

Kannst Du mir verraten, wie ich das ganze automatisch zum
Laufen bringe?

Schreibe Dir mit dem Notepad eine ‚Autorun.inf‘ die Du mit auf die CD brennst. Der Inhalt der Autorun.inf sieht dann so aus:

[autorun]
open = DeinProgramm.exe
icon = DeinIcon.ico

Wenn Du kein Icon auf die CD brennst, laß die Zeile ‚icon = …‘ weg.
Wenn sie da ist, wird die CD im Explorer, auf dem Arbeitsplatz mit diesem Icon angezeigt.

Ich bin bis jetzt davon ausgegangen, daß Du die CD selbst verwenden möchtest. Auf fremden Rechnern läuft das Programm dann vermutlich nicht, weil da die entsprechenden .DLLs fehlen. Dort müßte das Programm vorher einmal installiert werden, erst danach klappt das.

Gruß, Rainer

Hallo Rainer,

das Autorun fällt dann für mich aus, ich möchte die CD anderen zur Verfügung stellen. Naja, dann rufen Sie halt erst meine VB-Form auf und gehen dann über die Schaltflächen.

Hab Deinen Code eingebaut, funktioniert nur leider nicht :frowning:

Bei mir steht jetzt:

Private Sub Command1_Click()

Shell „Excel.exe - /D:\Hier\Gästebuch.xls“, vbNormalFocus

End Sub

Was mache ich falsch?

Danke und Grüße!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Stephy,

Hab Deinen Code eingebaut, funktioniert nur leider nicht :frowning:

Bei mir steht jetzt:

Private Sub Command1_Click()

Shell „Excel.exe - /D:\Hier\Gästebuch.xls“, vbNormalFocus

End Sub

Was mache ich falsch?

1.) Da ist ein Leerzeichen hinter den Minus. Ob das da sein darf?
In dem Code, den ich gepostet (und vorher getestet) habe ist da kein Leerzeichen.
2.) Hast Du auf der CD ein Verzeichnis ‚Hier‘?
3.) Ist ‚D:‘ Der richtige Laufwerksbuchstabe?

Tipp: Verwendest Du wie vorgeschlagen app.path funktioniert das auch im anderen Laufwerk. Bei mir ist D: der Brenner, E: das Laufwerk.
Mit festem Pfad klappt das dann nur in einem bestimmten Laufwerk, mit app.path in beiden. :wink:

Gruß, Rainer