Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Exel fügt zeichen beim abspeichern als txt mit ein

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Exel fügt zeichen beim abspeichern als txt mit ein (1570 mal gelesen)
lothi
Mitglied



Sehen Sie sich das Profil von lothi an!   Senden Sie eine Private Message an lothi  Schreiben Sie einen Gästebucheintrag für lothi

Beiträge: 34
Registriert: 24.08.2005

erstellt am: 27. Jan. 2006 17:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


XXX_ERP.TXT

 
Hallo zusammen und folgendes Problem.

Ich lese ein dos-Textdatei  (tab getrennt)nach Excel mit folgendem Befehl in einem Makro ein.


    Workbooks.OpenText Filename:="C:\Tmp\ERP_TMP\analyse\XXX_ERP.TXT", Origin:= _
        xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 2), _
        Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), _
        Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15, 2), Array( _
        16, 2), Array(17, 2), Array(18, 2), Array(19, 2), Array(20, 2)), TrailingMinusNumbers _
        :=True

Das ergebnis sieht in einer Zelle z. B. so aus.
OP012; 12,1"

Ub: 12V DC; I=5,9A; Q: 128...178 l/h; 2,25bar

1-pol; Typ C; 6A; DC 60V; AC 230/400V; 6kA

an den Zelle ist nichts besonderes.
Im Makro werden noch einige Dinge getan.

Nach dem speichern unter Befehl

ActiveWorkbook.SaveAs Filename:="C:\Tmp\ERP_TMP\analyse\XXX_ERP_analyse.ASC" _
        , FileFormat:=xlText, CreateBackup:=False

sieht das Ergebnis im Editor betrachtet so aus.

"OP012; 12,1"""

"Ub: 12V DC; I=5,9A; Q: 128...178 l/h; 2,25bar"

"1-pol; Typ C; 6A; DC 60V; AC 230/400V; 6kA"

Ich habe keine Erklährung dafür, warum EXCEL diesen Eintrag vornimmt,
da die anderen Zellen nicht betroffen sind.

Ich hänge mal meine basisdatei mit an, wenn jemand Testen will.

------------------
Gruß

Lothi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 27. Jan. 2006 18:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lothi 10 Unities + Antwort hilfreich

Hallo,

ich werde aus deiner Aufgabenstellung und wass du willst nicht schlau... Wo ist was was dich stört? :confus: die " ?
mit der Exceltabelle wird es leider nicht klarer, da die Namensverweise fehlen und kein Makro drinnen ist...

gruss Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Grebe
Mitglied



Sehen Sie sich das Profil von Grebe an!   Senden Sie eine Private Message an Grebe  Schreiben Sie einen Gästebucheintrag für Grebe

Beiträge: 536
Registriert: 16.12.2002

erstellt am: 27. Jan. 2006 18:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lothi 10 Unities + Antwort hilfreich

Falls es um das """ geht - das leigt daran, dass die Texte jeweils durch " und " begrenz sind. Da aber einmal tatsächlich ein " im Text vorkommt, wird daraus zur Unterscheidung "" gemacht. Mit dem abschließenden " für das Ende des Textes ergibt es dann halt """
Mathias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lothi
Mitglied



Sehen Sie sich das Profil von lothi an!   Senden Sie eine Private Message an lothi  Schreiben Sie einen Gästebucheintrag für lothi

Beiträge: 34
Registriert: 24.08.2005

Eplan P8 2.0 SP1
Eplan P8 Fluid Add ON
Eplan 5.70.4.52700
Eplan 5.xx

erstellt am: 27. Jan. 2006 19:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas und Mathias,

sorry wegen des Verständnises.

Es geht tatsächlich um die ".
Die angehängte Datei ist meine dos-(tab getrennte)Basisdatei, die aus Execl heraus geöffnet wird.

Der Fehler tritt nur in einer Spalte auf. Das mit dem eingrenzen, wenn ein " vorkommt (OP012; 12,1") leuchtet mir noch ein (kann in dem Fall das " auch durch Zoll ersetzen). In den bereichen (Ub: 12V DC; I=5,9A; Q: 128...178 l/h; 2,25bar), wo kein " vorkommt verstehe ich es nicht. In den anderen Spalten wird beim abspeicher
auch kein " zur Texterkennung mit abgespeichert. Da die gespeicherte Datei von anderen Programmen wieder eingelesen wird, stören die " natürlich. Gibt es einen vieleicht einen Parameter beim Speichern unter (ich nehme .txt tab-Trennung), wo die " zur Kennung nicht mit gespeichert werden?
 

------------------
Gruß

Lothi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 27. Jan. 2006 19:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lothi 10 Unities + Antwort hilfreich

Hi Lothi,

da werden wohl irgendwie paar (Sonder)Zeichen gesondert interpretiert,
bei dem einzelnen " ists klar, da macht er """ draus, aber bei den anderen Zellen weiss ich jetzt auch nicht genau warum, evtl. das ';' ?
Du kannst es ja auch mal s.u. probieren, hauptsache Du kommst nicht vom Regen in die Traufe;-)

Gruss Nancy
--

Code:

Sub z()
    Dim dObj As New DataObject
    ActiveSheet.UsedRange.Copy
    dObj.GetFromClipboard
    Open "D:\temp\test.asc" For Output As #1
        Print #1, dObj.GetText
    Close #1
    dObj.Clear: Set d.obj = Nothing
    Application.CutCopyMode = 0
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lothi
Mitglied



Sehen Sie sich das Profil von lothi an!   Senden Sie eine Private Message an lothi  Schreiben Sie einen Gästebucheintrag für lothi

Beiträge: 34
Registriert: 24.08.2005

erstellt am: 27. Jan. 2006 19:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nancy,

bin in VBA nicht so fit und arbeite meistens mit aufzeichnen und anpassen.
Hab bei dem Code nicht alles verstanden.
Im Prinzip öffne ich die dos-Textdatei (tab getrennt) nur um zu kontrollieren ob Zellen richtig beschrieben sind. ist dies der Fall,
wird die Datei wie oben beschrieben gespeichert. Ausser dem Dateinamen und dem Pfad, wo die Datei abgelegt wird sollte sich nichts ändern. Daher auch das Speichern unter. Sind Zelleninhalte nicht ok, wird die Datei sowiso verworfen, da sie aus einem Anwenderprogramm heraus erstellt wird. Ich werde Dein Programm testen.

Danke 

------------------
Gruß

Lothi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 27. Jan. 2006 20:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lothi 10 Unities + Antwort hilfreich

Ahhhh Lothi,

oki, wenn du Excel 'nur' zur Kontrolle nimmst, dann würde ich die Datei,
wenn Kontrolle okay ungespeichert schliessen, also mir von Excel da gar nicht erst irgendwelchen SaveAs-Murks aufzwingen lassen.
Die Original.TXT nennst Du dann einfach in Orginal.ASC um, da weiss man was man hat[te];;-)))

Code:

Sub kontrolle_okay()
    Dim s As String
    s = ActiveWorkbook.FullName 'aktueller Pfad & Name
    ActiveWorkbook.Close 0 'nicht speichern
    'Urdatei *.TXT in *.ASC umbenennen
    Name s As Left(s, Len(s) - 3) & "ASC"
End Sub


Gruss Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lothi
Mitglied



Sehen Sie sich das Profil von lothi an!   Senden Sie eine Private Message an lothi  Schreiben Sie einen Gästebucheintrag für lothi

Beiträge: 34
Registriert: 24.08.2005

erstellt am: 28. Jan. 2006 08:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Nancy,

hab Deine Hilfe umgesetzt und es geht prima.
hier wie ich es ursprünglich verwiklicht habe.

'Öffnen der Datei
'CADPLAN_S entspricht der Variablen mit dem Laufwerk und Pfad

Datei_Name_1 = CADPLAN_S + "\XXX_ERP.TXT"
Workbooks.OpenText Filename:= _
  Datei_Name_1, Origin:= _
        xlMSDOS, ...
       
       
'Speichern der Datei unter einem anderen Laufwerk und Pfad

    Datei_Name_1 = "C:\Tmp\ERP_TMP\analyse" + "\" + Datei_Name_2 + ".ASC"

    ActiveWorkbook.SaveAs Filename:= _
    Datei_Name_1, FileFormat:=xlText, _
    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False, _
    ConflictResolution:=XlSaveConflictResolution.xlOtherSessionChanges
    ActiveWorkbook.Close SaveChanges:=True
       
'Test mit Deinem Vorschlag

ActiveWorkbook.Close 0
Name Datei_Name_1 As Left(Datei_Name_1, Len(Datei_Name_1) - 3) & "ASC"

' Ergebnis funktioniert tadellos

Eine Bitte noch Nancy ich muss es auch auf einem anderen Laufwerk und Pfad ablegen

Danke für die Hilfe

Lothar 

------------------
Gruß

Lothi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lothi
Mitglied



Sehen Sie sich das Profil von lothi an!   Senden Sie eine Private Message an lothi  Schreiben Sie einen Gästebucheintrag für lothi

Beiträge: 34
Registriert: 24.08.2005

Eplan P8 2.0 SP1
Eplan P8 Fluid Add ON
Eplan 5.70.4.52700
Eplan 5.xx

erstellt am: 28. Jan. 2006 12:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Nancy,

zu Antwort vorher...

Eine Bitte noch Nancy ich muss es auch auf einem anderen Laufwerk und Pfad ablegen,

wenn schon vorhanden (2. Übergabe) überschreiben, mit oder ohne Abfrage, bin mir noch nicht sicher.


Danke Lothi

------------------
Gruß

Lothi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 28. Jan. 2006 15:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lothi 10 Unities + Antwort hilfreich

Hallo Lothi,

ich verstehe Dich so in etwa:

Code:

Sub kontrolle_okay()
    Dim txtFile As String
    Dim ascFile As String
    Dim newPath As String
   
    newPath = "d:\"
   
    With ActiveWorkbook
        txtFile = .FullName
        ascFile = newPath & Left(.Name, Len(.Name) - 3) & "ASC"
        'ungesichert schliessen
        .Close 0
    End With
   
    'copy&rename in einem
    FileCopy txtFile, ascFile
   
    'ggf. löschen
    '''Kill txtFile
   
End Sub

FileCopy fragt nicht nach überschreiben ja/nein, es überschreibt einfach, wenn schon vorhanden;-)

Gruss Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lothi
Mitglied



Sehen Sie sich das Profil von lothi an!   Senden Sie eine Private Message an lothi  Schreiben Sie einen Gästebucheintrag für lothi

Beiträge: 34
Registriert: 24.08.2005

erstellt am: 29. Jan. 2006 17:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nancy,

hat klasse funktioniert.

Danke 

Gruss Lothi

------------------
Gruß

Lothi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz