Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Datei öffnen über (WshShell.Run)

Frage Entwicklung VB for Applications

Mitglied: RobertKa

RobertKa (Level 1) - Jetzt verbinden

01.08.2014, aktualisiert 17:25 Uhr, 2348 Aufrufe, 4 Kommentare

Hallo zusammen,

bin schon ein wenig verzweifelt auf der Suche nach meinem Fehler.

'So geht's einwandfrei:
WshShell.Run """C:\Alle Dateien\Unterlagen\4915\Datei_4915.pdf""", 0

'So sollte es gehen:
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")

Dim sPfad, sDatei, sDateiLink
sPfad = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecordSynchronized.GetContentsByName("PfadID")
sDatei = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecordSynchronized.GetContentsByName("Datei")
sDateiLink = "C:\Dateien\Alle Unterlagen\" & sPfad & "\" & sDatei

'MsgBox CStr(sDateiLink), vbInformation, cRM.AppTitle *
'WScript.Quit
' *Nur zur Prüfung: Hier wird der Pfad komplett und korrekt ausgegeben


On Error Resume Next
WshShell.Run """CStr(sDateiLink)""", 0
' Das funktioniert nicht, weder mit drei, noch mit zwei,noch mit einem oder mit gar keinem Anführungszeichen
' Das ebenso nicht -> WshShell.Run "" & CStr(sDateiLink) & "", 0

Wo liegt mein Fehler? Was mach ich falsch ?

Herzlichen Dank und viele Grüße

Robert
Mitglied: colinardo
LÖSUNG 01.08.2014, aktualisiert um 17:28 Uhr
Hallo Robert,
doppelte Anführungszeichen innerhalb einer Stringzeichenfolge werden zu einem einzigen, deswegen so:
WshShell.Run """" & sDateiLink & """", 0
oder so, wenn dir Anführungszeichen zählen nicht liegt
WshShell.Run chr(34) & sDateiLink & chr(34), 0
Stell dir einfach vor was du in einer Konsole eingeben müsstest um eine Datei mit einem Leerzeichen im Pfad zu öffnen. Und da ein "" in VBS eine Leere Zeichenfolge ergibt ein """" aber ein einzelnes " sollte jetzt klar sein warum es bei dir nicht geklappt hat

Grüße Uwe
Bitte warten ..
Mitglied: RobertKa
01.08.2014 um 17:25 Uhr
Hallo Uwe,

vielen, vielen Dank.Geht einwandfrei. Das es 4 sein müssten, wäre ich nicht drauf gekommen.

Da zähl ich gerne

Viele Grüße

Robert
Bitte warten ..
Mitglied: rubberman
01.08.2014, aktualisiert um 18:01 Uhr
Hallo Robert

Das es 4 sein müssten, wäre ich nicht drauf gekommen.
Ich versuch's mal zu erklären.
Ein Stringliteral muss immer in einem Paar umschließenden Anführungszeichen stehen (die anschließend nicht im Stringwert zu finden sind).
s = "text"

Wenn du Anführungszeichen in einem String darstellen willst, müssen diese verdoppelt werden.
Beispiel: Test soll in Anführungszeichen stehen ...
s = "Das ist ein ""Test"""

Für ein einzelnes Anführungszeichen brauchst du also das umschließende Paar für das Stringliteral, sowie das verdoppelte als Wert.
s = """"

Wenn du nun eine Variable mit Anführungszeichen verknüpfen willst, benötigst du das &
s2 = """" & s1 & """"

Ich hoffe das trägt zum Verständnis bei

Grüße
rubberman
Bitte warten ..
Mitglied: RobertKa
01.08.2014 um 21:44 Uhr
Hallo rubberman,

dass es irgendwie mit den Anführungszeichen zu tun hat,hatte ich schon so im Gefühl. Aber die Erklärung fehlte mir. Der Grund ist, dass ich das eigentlich so ein wenig nebenbei mache und dadurch die Grundlagen fehlen. Aber jetzt ist mir das klar.

Deswegen nochmals vielen Dank für Deine ausführliche Erklärung und auch die von Uwe.

Schönen Abend und ein schönes Wochenende!

Viele Grüße

Robert
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Basic
gelöst Mit Visual Basic Batch Datei öffnen (26)

Frage von Flodsche zum Thema Basic ...

Netzwerkmanagement
gelöst Batch Datei auf anderem PC öffnen (35)

Frage von Flodsche zum Thema Netzwerkmanagement ...

Webentwicklung
HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...