Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Batch-Datei per VBA aufrufen?
#11
Hallo Julia,

Zitat:Sicher, aber ich muss mit Variablen arbeiten.

so kann man einen Pfad als Variable übergeben.
Kannst Du damit weitermachen?

Zitat:Sub test()
a = ActiveWorkbook.Path
MsgBox a
End Sub
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • o0Julia0o
Antworten Top
#12
ja, das hatte ich ja bereits so ausgeben lassen. Die Frage ist, ob VBA automatisch umschließende Anführungszeichen bei disem Code hier setzt:

Code:
Dim Pfadname As String
Dim Dateiname As String
Dateiname = Worksheets("Rech").Range("B34")
Pfadname = ActiveWorkbook.Path & "\Starter\"
Call Shell(Pfadname & Dateiname, vbMaximizedFocus)

Wird es so ausgeführt:

Code:
Pfadname & Dateiname
oder so:

Code:
"Pfadname & Dateiname"
Antworten Top
#13
Hallo Julia,

Excel und VBA sind schlau, aber nun überforderst Du sie.

Das was Du da in "Gänsebeinchen" setzen willst sind mehrere Variable.
Setzt Du die Dinger in Gänsefüßchen und so, wie Du das da vorgeführt
hast, dann ist das was bleibt einfach nur eine Zeichenfolge, also ein
sogenannter "String". Den kann man einblenden oder ausblenden, kopieren
oder verschieben, aber dann ist auch schon das Ende der Fahnenstange
erreicht. Das ist doch nicht das, was Du damit tun willst, oder?

Woher soll VBA denn wissen, daß Du um eine echte Variable, die Du auch
hoffentlich als solche deklariert hast, siehe auch Option Explicit, einen
popeligen String zu machen.
Na klar kann das VBA auch, ... jedenfalls dann, wenn man dafür ein Makro
geschrieben hat :05: .
Trotzdem bleibt diese ganze Geschichte hmmm, gelinde gesagt, sinnfrei.
Ich jedenfalls kann darin nicht mal ansatzweise einen Sinn erkennen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • o0Julia0o
Antworten Top
#14
Hallo Julia,

lasse es einfach so. ;)
Da du ohnehin nicht die Anwendung bei der Shell angibst, werden die doppelten "" auch nicht gebraucht.

also müsste 
"" & Pfadname & Dateiname & ""

oder

"""" & Pfadname & Dateiname & """"

oder auch nur

Pfadname & Dateiname

funktionieren.
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
[-] Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:
  • o0Julia0o
Antworten Top
#15
Hallo Julia,

auf der sicheren Seite bist Du, wenn Du das zu Übergebende in Anführungszeichen packst, weil es sonst nicht funktioniert, sobald Leerzeichen enthalten sind.
Weil das schon etwas verwirrend sein kann mit den ganzen Anführungszeichen, benutze ich gerne die Chr()-Funktion für die umgebenden Anführungszeichen:
Debug.Print Chr(34) & Pfadname & Dateiname & Chr(34)   'Ausgabe im Direktfenster
MsgBox Chr(34) & Pfadname & Dateiname & Chr(34)        'Ausgabe im Meldungsfenster
Shell Chr(34) & Pfadname & Dateiname & Chr(34)         'Übergabe an Shell
34 ist der Ascii-Code für ein Anführungszeichen.

Gruß Uwe
Antworten Top
#16
Hallo Uwe,

Einspruch ;)

Bei Wscript.run 
Müssten unbedingt die doppelten "" gesetzt werden, sonst geht es nicht.
Wobei die Shell vertragt Leerzeichen, wenn die Anwendung nicht angegeben ist.

lg
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
[-] Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:
  • o0Julia0o
Antworten Top
#17
Hallo Chris,

(21.06.2018, 07:38)chris-ka schrieb: Einspruch ;)

Bei Wscript.run 
Müssten unbedingt die doppelten "" gesetzt werden, sonst geht es nicht.

das ist ja kein Problem. Dann nimmt man eben 2 davon. Wink
MsgBox Chr(34) & Pfadname & Dateiname & Chr(34)
MsgBox String(2, Chr(34)) & Pfadname & Dateiname & String(2, Chr(34))
Ich wollte ja nur demonstrieren, wie man ohne große Hirnakrobatik Anführungszeichen drumherum machen kann. Smile
Gerade Julia jedoch hat das wohl nicht verstanden, wenn ich ihre Bedankungen richtig interpretiere.  Blush

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • o0Julia0o
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste