Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Leerzeichen im Programmaufruf

Begonnen von PeterW, Februar 02, 2011, 12:03:20

⏪ vorheriges - nächstes ⏩

PeterW

wenn ich in der Variablen <Pfad> des folgenden Aufrufes ein Leerzeichen habe, wird der Pfad von Access nicht erkannt

Pfad = c":\Dokumente Privat\Eigene\"
Call Shell("winword.exe " & Pfad & [Dok1], 1)

gibt es dafür eine Lösung, ausser, die Leerzeichen zu entfernen?

Gruß
Peter
Viele Grüße aus Berlin
Peter

database

#1
Hallo,

ich denke, dass die Shell-Funktion nicht das richtige Ding ist dazu.

Füge mal folgenden Code in das Formularmodul ein aus dem du - wie in meinem Beispiel - die Datei per Buttonklick öffnen möchtest


'//Muss in den Deklarationsabschnitt des Moduls
Private Declare Function ShellExecute _
    Lib "shell32.dll" Alias "ShellExecuteA" ( _
    ByVal hWnd As Long, _
    ByVal Operation As String, _
    ByVal Filename As String, _
    Optional ByVal Parameters As String, _
    Optional ByVal Directory As String, _
    Optional ByVal WindowStyle As Long = vbMinimizedFocus _
    ) As Long




Private Sub DeinButton_Click()

   Dim Pfad As String
   Dim Datei As String
   Dim success As Long

   Pfad = "c:\Dokumente Privat\Eigene\"
   Datei = "Test.doc"
   success = ShellExecute(0, "Open", Pfad & Datei)

End Sub


Ich nehme die Shell-Funktion nur zum Öffnen einer registrierten Applikation, nicht aber im Zusammenhang mit einer speziellen Datei   :-\
HTH

bahasu

Hallo,

Pfad = "winword.exe " & chr(34) & "c:\Dokumente Privat\Eigene\" & [Dok1] & chr(34)
Call Shell (Pfad, 1)

Damit funktioniert das bei mir auch mit Leerzeichen.

Harald
Servus

PeterW

ich stosse noch an einer anderen Stelle auf das gleiche Problem:
mit der Filesystemobject-Methode: <FileExists> werden Pfad und Dateinamen mit Leerzeichen nicht erkannt

ich deklariere ein Filesystemobject oFSO
und prüfe dann das Vorhandensein einer Datei wie folgt:

If oFSO.FileExists(Pfad & Dateiname) = True then ....

wo ist hier das Problem?

Gruß
Peter
Viele Grüße aus Berlin
Peter

DF6GL

Hallo,

wundert mich zwar, aber probier mal:

If oFSO.FileExists("""" & Pfad & Dateiname & """") = True then

was praktisch das Gleiche ist wie die Verwendung von CHR(34)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

bahasu

Hallo,

und noch ein Vorschlag

if dir (Pfad & Dateiname) > "" then ... ' ist vorhanden

Ich setze mal voraus, dass die "\" Zeichen korrekt vorhanden sind.

Harald
Servus

PeterW

Verzweifelung
ich habe jetzt, um den Versuchen eine gewisse Systematik zu geben, die Variante
oFSO.FileExists("c:\Pfad\File.exe")
eingerichtet in einem Testprogramm, um dann Schritt für Schritt die weitern Möglichkeiten zu testen und siehe da, es funktioniert dort auch mit Leerzeichen, z.B.
oFSO.FileExists("c:\Program Pfad\File 1.exe")

Also bin ich in mein ursprünglichen Programm zurück und habe dort alles noch mehrfach überprüft, ohne Erfolg. Dort funtioniert es nicht.
Ich habe keine Erklärung und habe meine wietere Versuche erst einmal verschoben.
erst einmal Danke für die Hilfe

Gruß
Peter

Viele Grüße aus Berlin
Peter

DF6GL

Hallo,


druck mal den Filenamen mit

Debug.Print Pfad & Dateiname

in das Direktfenster und schau, ob der PfadDateiname überhaupt stimmt.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

PeterW

Ich habe mir den Pfad und Dateinamen in einer Messagebox anzeigen lassen, das stimmt!
Viele Grüße aus Berlin
Peter