Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
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
Registriert seit: 08.07.2016
Version(en): 2016
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"
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
20.06.2018, 21:41
(Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2018, 21:41 von Käpt'n Blaubär.)
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.
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
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.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• o0Julia0o
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
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
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
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.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• o0Julia0o
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Chris,
(21.06.2018, 08: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.
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.
Gerade Julia jedoch hat das wohl nicht verstanden, wenn ich ihre Bedankungen richtig interpretiere.
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• o0Julia0o