Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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

Pfad beim Öffnen als Parameter in Variable mitgeben

Pfad beim Öffnen als Parameter in Variable mitgeben
21.11.2019 08:35:04
Meissner
Hallo zusammen,
ich habe mir eine Vorlagendatei in Excel erstellt, die mir eine vorhandene CSV Datei in eine xlsm umwandelt.
Das funktioniert auch perfekt. Gestartet wird diese Umwandlung entweder mit öffnen der Vorlage oder mit einer vbs Datei.
Dabei wird die Vorlage gestartet, mehrere Makros ausgeführt, die neue Datei gepeichert und die Vorlagendatei geschlossen.
Die CSV Datei wird von einem externen Programm erzeugt und in einem Arbeitsverzeichnis abgelegt. Das ist variabel.
z.B B:\Arbeit\Instanz1 , das nächste mal ist es Instanz2 usw.
Jetzt möchte ich diesen Pfad zum importieren der CSV beim Öffnen der Vorlagendatei in einer Variablen zur Verfügung stellen.
Das Makro der Vorlagendatei wird im Workbook_Open() mit call Start (so heißt mein Makro) sofort gestartet und hier brauche ich auch den Pfad dazu.
Ich hoffe Ihr versteht mich und könnt mir einen Tipp geben.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad beim Öffnen als Parameter in Variable mitgeben
21.11.2019 08:42:16
Hajo_Zi
Variable = Application.InputBox("Ordner", "Ordner eingeben", "C:\")

AW: Pfad beim Öffnen als Parameter in Variable mitgeben
21.11.2019 08:56:22
volti
Hallo Meisner,
hier ein erweitertes Beispiel:
Dabei wird der Dateiname in einem (ggf. versteckten) Tabellenblatt abgespeichert, um ihn bei der nächsten Abfrage wieder als Vorschlag zu haben.
Natürlich könntest Du auch ohne Abfrage immer die Nummer des zuletzt abgespeicherten Dateinamens am Dateiende hochzählen.
Private Sub Workbook_Open()
 Dim Dateiname As String
 Dateiname = Sheets("Tabelle1").Range("A$1").Value
 Dateiname = Application.InputBox("Pfad", "Bitte Pfad eingeben", Dateiname)
 If Dateiname <> "" Then
   Sheets("Tabelle1").Range("A$1").Value = Dateiname
   Call Start(Dateiname)
 End If
End Sub
Sub Start(Dateiname As String)
'code.....
End Sub

viele Grüße
Karl-Heinz

Anzeige
AW: Pfad beim Öffnen als Parameter in Variable mitgeben
21.11.2019 14:54:27
Meissner
Hi,
genau das mit der Abrage des Ordners möchte ich automatisieren.
Das externe Programm startet mittels der vbs das Umwandeln, also öffnet die Vorlage.
Da alles automatisch läuft, müsste der Programmaufruf irgendwie so stattfinden:
Entweder über einen CMD-Befehl
c:\.....\Program Files (x86)\Microsoft Office\....\EXCEL.EXE" Vorlage.xlsm .....
Nur so bekomme ich den Pfad zur CSV nicht.
oder über eine vbs starten:
Option Explicit
Dim xlApp , Pfad
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Pfad = "..........\Vorlage.xlsm"
xlApp.Workbooks.Open Pfad
set xlApp = nothing
Nur weiß ich nicht, ob man hier, und wenn ja, dann wie, ein Verzeichnispfad mit einbaut, der dann in Excel beim automatischen Starten zur Verfügung steht.
Vielleicht könnte man eine Variable in der Windowsumgebung erstellen, den Pfad dort reinschreiben und im Makro dann übernehmen. Aber wie das geht ?
Anzeige
AW: Pfad beim Öffnen als Parameter in Variable mitgeben
21.11.2019 18:04:07
volti
Hi,
wenn Du den Pfad von extern per Environ-Variablen aus einer VBS übergeben möchtest und dann auch von dort Excel startest, bietet sich folgendes an:
'In deiner VBS-Datei VBScript
'Set objShell = CreateObject("WScript.Shell")
'Set objEnv = objShell.Environment("USER")
'objEnv("MeinPfad") = "C:\Users"
Sub Workbook_Open()
'Mit Environ-Variablen
  Set objShell = CreateObject("WScript.Shell")
  Set objEnv = objShell.Environment("USER")
  MsgBox objEnv("MeinPfad")
End Sub

Weitere Möglichkeit ist, über eine Inidatei im Temp-Verzeichnis zu arbeiten, wo Du den Pfad reinschreibst und ihn in Excel wieder ausliest.
Stichwort: GetPrivateProfileString
Oder Du übergibst einen weiteren Parameter beim Excelaufruf mit dem Parameter /e
Stichwort zum Googlen: GetCommandLine
viele Grüße
Karl-Heinz
Anzeige
AW: Pfad beim Öffnen als Parameter in Variable mitgeben
22.11.2019 07:29:48
Meissner
Hi Volti,
vielen Dank für Deinen Input, hiermit kann ich etwas anfangen.
Super!
AW: Pfad beim Öffnen als Parameter in Variable mitgeben
22.11.2019 07:57:04
volti
Schön zu lesen.
Viel Erfolg beim weiteren Tüfteln.
Gruß Karl-Heinz

176 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige