Seite 1 von 1

String mit anfürungszeichen

Verfasst: Mi, 25.11.2015 07:58
von ja18
Hallo zusammen
Ich versuche einen String zusammen zu setzen, der "doblequotes" enthällt.
Leider wird der String dadurch falsch interpretiert.
Wie setze ich den richtig zusammen?
Es geht um die variable (stFeld)

Code: Alles auswählen

SUB Datei_Aufruf
	DIM oDoc AS OBJECT
	DIM oDrawpage AS OBJECT
	DIM oForm AS OBJECT
	DIM oFeld AS OBJECT
	DIM oShell AS OBJECT
	DIM stFeld AS STRING
			oShell = createUnoService("com.sun.star.system.SystemShellExecute")
		 stFeld = ("C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /h /t "K:\Datenbank\Eticketten.pdf" "Brother QL-500")
	oShell.execute(stFeld,,0)
END SUB

Re: String mit anfürungszeichen

Verfasst: Mi, 25.11.2015 08:07
von TrueColor
https://wiki.openoffice.org/wiki/Docume ... de/Strings
Ganz unten, letzte Zeile + letztes Beispiel
AOO Wiki/BASIC Guide hat geschrieben: To include a quotation mark (") in a string, enter it twice at the relevant point:

Code: Alles auswählen

Dim MyString As String
MyString = "a ""-quotation mark."    ' produces a "-quotation mark
Also auf gut deutsch: Die Gänsefüßchen mit 'nem Gänsefüßchen escapen...

Re: String mit anfürungszeichen

Verfasst: Mi, 25.11.2015 08:43
von ja18
Hallo TrueColor
Ich glaube das ich das falsch verstehe.
Soll das so aussehen?

Code: Alles auswählen

SUB Datei_Aufruf
	DIM oDoc AS OBJECT
	DIM oDrawpage AS OBJECT
	DIM oForm AS OBJECT
	DIM oFeld AS OBJECT
	DIM oShell AS OBJECT
	DIM stFeld AS STRING
			oShell = createUnoService("com.sun.star.system.SystemShellExecute")
		 stFeld = ("""C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe""" "/h /t" """K:\Datenbank\Eticketten.pdf""" """Brother QL-500""")
	oShell.execute(stFeld,,0)
END SUB
Das generiert leider eine Fehlermeldung (Fehler ich Klammerschachtelung)

Re: String mit anfürungszeichen

Verfasst: Mi, 25.11.2015 08:54
von mikeleb
Hallo,

Code: Alles auswählen

stFeld = """C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"" /h /t ""K:\Datenbank\Eticketten.pdf"" ""Brother QL-500"""

Re: String mit anfürungszeichen

Verfasst: Mi, 25.11.2015 09:21
von ja18
Danke für deine Hilfe

Re: String mit anfürungszeichen

Verfasst: Mi, 25.11.2015 09:26
von Karolus
Hallo

Der service "css.SystemShellExecute" ermöglicht nicht aus Jux und Dollerei die Übergabe von 3 Argumenten.

Code: Alles auswählen

oShell = createUnoService("com.sun.star.system.SystemShellExecute")
command = """C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"""
args = "/h /t ""K:\Datenbank\Eticketten.pdf"" ""Brother QL-500""" 

oShell.execute( command, args, 0)
In python könnte man das wesentlich freundlicher aussehen lassen:

Code: Alles auswählen

import subprocess

def printer_job():
    subprocess.popen( ["C:/Program Files (x86)/Adobe/Reader 11.0/Reader/AcroRd32.exe",
                       "/h",
                       "/t",
                       "K:/Datenbank/Eticketten.pdf",
                       "Brother QL-500"]
                     ) 
Apropos: "Etiketten" schreibt man für gewöhnlich ohne c vor dem k

Re: String mit anfürungszeichen

Verfasst: Mi, 25.11.2015 14:44
von TrueColor
Karolus hat geschrieben:Apropos: "Etiketten" schreibt man für gewöhnlich ohne c vor dem k
Du wartest doch nur auf den Hilferuf, dass jetzt die Datei nicht mehr gefunden wird, nachdem der Schreibfehler im Macro korr. wurde! :lol: