Ich öffne über die Shell ein Word-Dokument. Funktioniert auch, solange im Dateinamen keine Leerzeichen vorhenden sind. Denn dann bekomme ich die FM, daß ich nach dem Dateinamen suchen soll.
Was mache ich fasch???
Habe Access 2002 SP3
Gruß, Joe
Ich öffne über die Shell ein Word-Dokument. Funktioniert auch, solange im Dateinamen keine Leerzeichen vorhenden sind. Denn dann bekomme ich die FM, daß ich nach dem Dateinamen suchen soll.
Was mache ich fasch???
Habe Access 2002 SP3
Gruß, Joe
Ich öffne über die Shell ein Word-Dokument. Funktioniert auch,
solange im Dateinamen keine Leerzeichen vorhenden sind. Denn
dann bekomme ich die FM, daß ich nach dem Dateinamen suchen
soll.
Was mache ich fasch???
von hier aus schwer zu sagen… aber:
Grüße aus Essen
Wolfgang
Hi wolfgang.
Nehme ich nicht an. Ich kenne halt keinen anderen Shell-Aufruf.
Drum war’s für mich klar.
Hier der Code:
stAppName = („WINWORD.EXE Pfad“ & strDateiname)
Call Shell (stAppName,1)
Das Problem ist, dass ich die Dateien des Ordners in eine Variable speichere, über die ich dann die jeweilige Datei öffne. Drum funktioniert das mit den „“ nicht. Da aber meine Kollegen die Dateien teilweise mit Leerzeichen abgepeihert haben, Wollte ich mir die Arbeit des Umbenennens sparen. Das mit der Tilde klappt auch nicht, da manche Namen schon nach drei Buchstaben eine Leerzeichen enthalten.
Hast Du eventuell noch 'ne Idee?
Gruß, Joe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Joe,
Nehme ich nicht an. Ich kenne halt keinen anderen
Shell-Aufruf.
darum geht es nicht, die Call-Funktion ist bekannt! siehe unten
stAppName = („WINWORD.EXE Pfad“ & strDateiname)
Call Shell (stAppName,1)
genau, das brauchen wir hier
Das Problem ist, dass ich die Dateien des Ordners in eine
Variable speichere, über die ich dann die jeweilige Datei
öffne. Drum funktioniert das mit den „“ nicht.
doch, und zwar so:
stAppName = („WINWORD.EXE Pfad '“ & strDateiname & „’“)
Hast Du eventuell noch 'ne Idee?
nun weißt du warum ich den Code sehen wollte
Grüße aus Essen
Wolfgang
Hallo Wolfgang
Hab es gleich ausprobiert.
Hab folgenden Code eingegeben:
strDateiname = „Internet BS“
stAppname = („Winword.exe i:“" & strDateiname&""")
Call Shell(stAppname, vbNormalNoFocus)
Bekomme folgende FM:
Dokumentname oder Pfad ungültig. Versuchen Sie eine oder mehrere dieser Optionen:
*Überprüfen Sie die Dateizugriffsrechte für das Dokument oder Laufwerk.
*Suchen Sie im Dialogfeld „Datei öffnen“ nach dem Dokument.
(I:\ & strDateiname & doc)
Zugriffsrechte und Pfad sind i.O.
StrDateineme wird als String und nicht als Variable erkannt.
Ich glaub, es gibt doch keine Lösung.
Trotzdem vielen Dank.
Gruß, Joe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Joe,
Ich glaub, es gibt doch keine Lösung.
hier meine Lösung (einfach hier rauskopieren):
AnfZ = chr(34)
strDateiname = „Internet BS“
stAppname = ("Winword.exe " & AnfZ & „i:“ & strDateiname & AnfZ)
Call Shell(stAppname, vbNormalNoFocus)
geprüft und getestet!
Grüße aus Essen
Wolfgang
Hi Wolfgang.
Spitze, Funktioniert!!!
Jetzt muss ich es nur noch mit den anderen Dateien testen.
Vielen Dank und bis zum nächsten mal.
Vieleicht kann ich Dir auch mal helfen (Grins, Witzende)
Viele Grüße aus Ettlingen (bei Karlsruhe), Joe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Funktioniert wirklich gut… bei Word.
Bei Excel und Powerpoint werden durch Leerzeichen getrennte Dateinamen einzeln erkannt. Also: DNS Einträge.xls = DNS.xls + Einträge.xls.
Office-Programme haben wohl viele Fallen.
Bei Text-Dateien hab ich’s noch nicht probiert.
Fällt Dir da noch was ein?
Viel Grüße aus Ettlingen, Joe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Joe,
Also: DNS Einträge.xls = DNS.xls + Einträge.xls.
das Ergebnis sollte dann so aussehen: „DNS Einträge.xls“
(mit Anführungsstriche)
Office-Programme haben wohl viele Fallen.
es ist Windows mit der Bezeichnungsfreiheit für ordner und Dateien!
Bei Text-Dateien hab ich’s noch nicht probiert.
Fällt Dir da noch was ein?
es ist abhängig vom verwendeten Programm und dessen Pfadbezeichnung, UND von der aufgerufenen Datei und deren Pfadbezeichnung.
Beispiel:
Das Programm mit dem Namen: TESTprog.exe befindet sich im Verzeichnis: C:\MEIN TEST\
Der aufgerufene Text (TEST.TXT) befindet sich im Verzeichnis:
D:\meine Texte\
somit muß das Ergebnis folgender Maßen lauten:
„C:\MEIN TEST\TESTprog.exe“ „D:\meine Texte\TEST.TXT“
hier der Code
AnfZ = chr(34)
strDateiname = „Internet BS“
stAppname = AnfZ & "C:\MEIN TEST\TESTprog.exe " & AnfZ & " " & AnfZ & „i:“ & strDateiname & AnfZ
Call Shell(stAppname, vbNormalNoFocus)
Grüße aus Essen
Wolfgang
Hi Wolfgang.
Genial!!
Wirst mir langsam unheimlich. Hat super geklappt.
Für PowerPoint mußte ich noch was ändern (hatte ich Dich auch nicht gefragt. Nach strDateiname muß es & „.ppt“ & AnfZ heißen.
Deine Idee mit dem ‚chr‘ hat mir sehr geholfen.
Hoffentlich kann ich’ mit den anderen Programmen allein.
Nochmals vielen Dank und viele Grüße aus Ettlingen, Joe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]