Mit VBA Eintrag in .txt-Datei
#1
Liebe Gemeinde,

ein neuer Tag, eine neue Herausforderung.
Ich möchte mittels VBA eine .txt-datei erstellen
und mit Text befüllen. Das funktioniert grundsätzlich.
Probleme macht mit aber der nachfolgende Text.





Dieser soll eingetragen werden.
Leider bekomme ich Fehlermeldungen. Ich gehe davon aus, dass es an den " im Text selber liegt und habe bereits 
doppelte " ausprobiert. Ohne Erfolg. 

Der Code dazu sieht so aus. 
Code:
Sub txt_erzeugen()

Dim strKopf As String
Dim strFuss As String


datei = "Y:\Eigene Dateien\Test\Test\test.txt"

Open datei For Output As #1

'Kopf'

strKopf = "<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <Document id="1">"

'Fuss
strFuss = "CStr("</Document>") CStr("</kml>")"


Write #1, strKopf

Write #1, strFuss

Close #1

End Sub


Weiß wer Rat?

Wieder vielen Dank im Voraus.
Top
#2
Hallo, :19:

brauchst du die ", dann so: :21:


Code:
'Kopf'
strKopf = "<?xml version=""1.0"" encoding=""UTF-8""?> <kml xmlns=""http://www.opengis.net/kml/2.2"" xmlns:gx=""http://www.google.com/kml/ext/2.2""> <Document id=""1"">"
'Fuss
strFuss = "CStr(""</Document>"") CStr(""</kml>"")"
Print #1, strKopf
Print #1, strFuss
Close #1

Sonst so: :21:


Code:
'Kopf'
strKopf = "<?xml version=1.0 encoding=UTF-8?> <kml xmlns=http://www.opengis.net/kml/2.2 xmlns:gx=http://www.google.com/kml/ext/2.2> <Document id=1>"
'Fuss
strFuss = "CStr(</Document>) CStr(</kml>)"
Print #1, strKopf
Print #1, strFuss
Close #1
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • tmessers
Top
#3
Danke für die schnelle Antwort.
Das klappt gut.

Wie bekomme ich in der .txt date die " am Anfang und Ende des Strings weg?
Top
#4
Hallo, :19:

bei mir sind am Anfang und Ende keine Anführungszeichen. :21:
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • tmessers
Top
#5
@Case: Der OP verwendet weiter write und nicht print
https://docs.microsoft.com/de-de/office/...estatement
Zitat:Im Gegensatz zu der Print # -Anweisung fügt die Write # -Anweisung beim Schreiben in die Datei Kommas zwischen Elementen und Zeichenfolgen in Anführungszeichen ein. Sie müssen nicht explizite Trennzeichen in die Liste aufnehmen. Write # einen Zeilenumbruchzeichen eingefügt wurde d. h., einem Zeilenumbruch (Chr(13) + Chr(10)), nach dem das letzte Zeichen in Outputlist in die Datei geschrieben.
[-] Folgende(r) 1 Nutzer sagt Danke an Storax für diesen Beitrag:
  • tmessers
Top
#6
Genau das war der Fehler.

Wie bekomme ich in diesen String eine Variable eingebaut, die nach der 
Print-Anweisung in „ steht? zB. die  aus meinem ersten Post.
Top
#7
Hallo, :19:

probiere es mal so der Spur nach: :21:

Code:
'......
Dim strTMP As String
strTMP = """Das auch noch"""
'......
'......
'......
Print #1, strFuss & " " & strTMP
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • tmessers
Top
#8
Danke für Eure Unterstützung.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste