.fst Datei Bearbeiten

Bild

Betrifft: .fst Datei Bearbeiten
von: Stefan
Geschrieben am: 27.07.2015 18:39:15

Hallo ich habe eine fst-Datei die ich gerne bearbeiten möchte. Da ich so eine Datei nicht erzeugen kann habe ich mir eine leere Vorlage gemacht und will diese nun öffnen, bearbeiten und wieder abspeichern. Das funktioniert auch bis ich ein Anführungszeichen (") mit reinschreibe. Beim speichern werden diese ungewollt dupliziert und jede zeile mit " wird nochmal in " gesetzt. Kann mir jemand sagen warum das so ist und wie sich das Problem lösen lässt? Vielen Dank schonmal im vorraus.
sollInhalt der fst:
"Version",1
"Maschine","Automat3"
istInhalt:
"""Version"",1"
"""Maschine"",""Automat3"""
Hier meine kleine Testroutine:

Sub fstBearbeiten()
    Const Pfad = "C:\Exceltest\"
    Const Vorlage = "Vorlage.fst"
    Const Maschinenname = "Automat3"
    Dim NeuerName As String
    Dim WkbVorlage As Workbook
    NeuerName = "VorlageBearbeitet.fst"
    
    Workbooks.Open Pfad & Vorlage
    
    'Kopfzeilen
    Range("A1") = """" & "Version" & """" & ",1"
    Range("A2") = """" & "Maschine" & """" & "," & """" & Maschinenname & """"
   '.
   '. noch mehr ...
   '.
     ActiveWorkbook.Close (True)
    
End Sub
und hier die .fst datei als .zip gepackt
https://www.herber.de/bbs/user/99100.zip

Bild

Betrifft: AW: .fst Datei Bearbeiten
von: Michael
Geschrieben am: 27.07.2015 19:52:17
Hallo Stefan,
so:

 
Range("A1") = Chr(34) & "Version" & Chr(34) & ",1"
Range("A2") = Chr(34) & "Maschine" & Chr(34) & "," & Chr(34) & "Maschinenname" & Chr(34)
Schöne Grüße,
Michael

Bild

Betrifft: AW: .fst Datei Bearbeiten
von: Stefan
Geschrieben am: 27.07.2015 20:48:35
Hey Michael,
danke für deine Idee leider war sie nicht von erfolg gekrönt. Das Problem ist nicht das erstellen vom Anführungszeichen sondern das abspeichern dieser fst-Datei. Da liegt glaub ich der Knackpunkt weil das kein offiziell unterstütztes Format von Excel ist.

Bild

Betrifft: AW: .fst Datei Bearbeiten
von: Michael
Geschrieben am: 27.07.2015 21:43:15
Na dann, speichere das Ding als .txt ab und benenne es direkt nach dem Speichern um, nachzulesen etwa hier: http://www.excel-inside.de/vba-loesungen/datei/244-umbenennen-von-dateien-per-vba

Bild

Betrifft: AW: .fst Datei Bearbeiten
von: Stefan
Geschrieben am: 27.07.2015 22:15:53
Auch diese möglichkeit hat nicht gefruchtet sowie ich die datei umbenenne sind die zusätzlichen Anführungszeichen drin. übrigens auch wenn ichs als normale txt datei abspeicher.

Bild

Betrifft: AW: .fst Datei Bearbeiten
von: Michael
Geschrieben am: 29.07.2015 16:46:06
Wenn ich's mir genau ansehe, verstehe ich Dein Problem nicht.
Allein das Öffnen Deiner .fst-Datei als Workbook schlägt bei mir fehl: wenn das bei Dir funktioniert, weiß ich auch nicht weiter.
Ist es richtig, daß es sich um reine Textdatei handeln soll?
Wenn ja, ist eine Textdatei nämlich *keine* Exceldatei bzw. Workbook. sondern schlichter Text, wie in Deiner ZIP, und eine TEXTdatei hat auch kein Range, in das Du Werte schreiben könntest.
Warum kannst Du eigentlich keine .fst-Datei erzeugen?
Die Idee ist die: Du schreibst Deine Daten entweder in ein Tabellenblatt Deiner Excel-Datei, die das Makro enthält, und exportierst es als Textdatei mit der Endung .fst, oder Du schreibst es direkt in eine Textdatei.
Beide Varianten siehst Du hier:

Option Explicit
Sub fstBearbeiten()
 
    Dim Pfad As String
    Const Maschinenname = "Automat3"
    Dim NeuerName, Datei As String
    Dim i As Long, DateiNr As Integer
    
    Pfad = ActiveWorkbook.Path
    NeuerName = "Vorlage.fst"
    Datei = Pfad & "\" & NeuerName
   
' Variante1:
   Range("A1") = """" & "Version" & """" & ",1"
   Range("A2") = """" & "Maschine" & """" & "," & """" & Maschinenname & """"
   Range("A3") = Chr(34) & "Version" & Chr(34) & ",1"
   Range("A4") = Chr(34) & "Maschine" & Chr(34) & "," & Chr(34) & Maschinenname & Chr(34)
' sieht völlig identisch aus, ok.
   DateiNr = FreeFile
   Open Datei For Output As #DateiNr
   For i = 1 To 4
     Print #DateiNr, Range("A" & i).Value
   Next
' Variante2: direktes Schreiben:
     Print #DateiNr, "ab hier direkt geschrieben:"
     Print #DateiNr, """" & "Version" & """" & ",1"
     Print #DateiNr, """" & "Maschine" & """" & "," & """" & Maschinenname & """"
     Print #DateiNr, Chr(34) & "Version" & Chr(34) & ",1"
     Print #DateiNr, Chr(34) & "Maschine" & Chr(34) & "," & Chr(34) & Maschinenname & Chr(34)
   Close #DateiNr
' siehe auch: 
' http://vba1.de/vba/053dateiexport.php
    
End Sub
Wenn Du die .fst-Datei mit dem Editor öffnest, sieht sie folgendermaßen aus:
"Version",1
"Maschine","Automat3"
"Version",1
"Maschine","Automat3"
ab hier direkt geschrieben:
"Version",1
"Maschine","Automat3"
"Version",1
"Maschine","Automat3"


Bild

Betrifft: AW: .fst Datei Bearbeiten
von: Stefan
Geschrieben am: 30.07.2015 16:07:44
Vielen Dank!!!
mit der Open-Anweisung hats geklappt. Du bist mein Held!

Bild

Betrifft: gerne, vielen Dank für die Rückmeldung owT
von: Michael
Geschrieben am: 31.07.2015 13:31:17


 Bild

Beiträge aus den Excel-Beispielen zum Thema ".fst Datei Bearbeiten"