Autor
|
Thema: Export in Textdatei (3916 mal gelesen)
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2657 Registriert: 06.11.2000
|
erstellt am: 07. Jun. 2006 11:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Excel-Experten! Ich habe ein Problem. Ich habe ein paar gleich aufgebaute Excel-Tabellen, diese werden in Excel bearbeitet, anschließend als Text-Dateien exportiert und in Access wieder importiert. Die Spalten sind als "Text" oder "Standard" formatiert. Solange ich das manuell exportiere und als Exportformat "Text (Tabstopp getrennt)" eingebe, klappt alles. Beim Speichern über ein VBA-Makro tritt immer ein Fehler auf: bei 2 der Spalten werden zusätzliche anführungszeichen eingefügt! In Access muss ich dann immer nachträglich die Anführungszeichen entfernen, das ist tierisch lästig. Mein VB-Befehl lautet so (per Makro-Rekorder aufgezeichnet): Code:
ActiveWorkbook.SaveAs Filename:= _ "N:\Dateiname.txt", _ FileFormat:=xlText, CreateBackup:=False
Bei "FileFormat" habe ich schon alle in der Hilfe aufgelisteten xlText...-Varianten durchprobiert, ohne Erfolg.Hat jemand vielleicht ne Idee, woran das liegen könnte?
------------------ Klaus www.al-ko.com >> Unbedingt hier klicken!!! << privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 07. Jun. 2006 12:02 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2657 Registriert: 06.11.2000
|
erstellt am: 07. Jun. 2006 12:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Nancy, das sieht interessant aus... Dein Code:
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
Leider bekomme ich in der ersten Zeile bereits die Fehlermeldung "Benutzerdefinierter Typ nicht definiert". Muss ich da noch spezielle Verweise setzen, damit das VBA mit dem Clipboard arbeiten kann?Gruß
------------------ Klaus www.al-ko.com >> Unbedingt hier klicken!!! << privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 07. Jun. 2006 13:02 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
Ja Klaus, da fehlt ein Verweis auf Microsoft Forms x.x Object Library Den mal setzen oder alternativ einfach eine Userform einfügen und die dann gleich wieder löschen, bei Userforms wird der Verweis automatisch gesetzt;-) Gruss Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2657 Registriert: 06.11.2000
|
erstellt am: 07. Jun. 2006 13:53 <-- editieren / zitieren --> Unities abgeben:
Danke, jetzt läufts durch (irgenwann hatte ich das schon mal gehört ...) Aber das Ergebnis stimmt noch nicht. Die Zwischenablage wird korrekt gefüllt - mit Strg-V kann ich das in eine Textdatei kopieren, hier stimmt dann alles. Aber das GetText scheint nicht richtig zu klappen, die geschriebene Textdatei ist auf jeden Fall ziemlich verstümmelt. Teilweise fehlen die Spalten, teilweise sind Leerzeichen hinzugefügt... Ah..doch jetzt hab ichs. Wenn man dem Befehl GetText noch das Format mit gibt, dann klappts: Code: Print #1, dObj.GetText(1)
Herzlichen Dank!! ------------------ Klaus www.al-ko.com >> Unbedingt hier klicken!!! << privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 12. Jun. 2006 18:28 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2657 Registriert: 06.11.2000
|
erstellt am: 19. Jun. 2006 14:56 <-- editieren / zitieren --> Unities abgeben:
Das wäre grundsätzlich eine gute Idee, an die ich noch gar nicht gedacht habe- obwohl es ja eigentlich naheliegend ist. Allerdings habe ich von Datenbankprogrammierung im Allgemeinen und Access-API im Besonderen nicht wirklich Ahnung...da müsste ich mich erst mal einarbeiten, wozu mir im Moment die Zeit fehlt. Da bevorzuge ich erstmal die einfache Excel-Export-Access-Import-Methode. Aber auf Dauer ist das sicherlich der Mühe wert, mal sehen, ob ich mal dazu komme. ------------------ Klaus www.al-ko.com >> Unbedingt hier klicken!!! << privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 23. Jun. 2006 21:09 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2657 Registriert: 06.11.2000
|
erstellt am: 26. Jun. 2006 08:24 <-- editieren / zitieren --> Unities abgeben:
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2657 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** Dell Precision 7540 mobile Workstation, 64GB, Quadro RTX 3000; SWX2020 SP5; SAP/PLM+ECTR; DriveWorks Pro; Programmierung: VBA, aktuell Visual Studio 2017/VB.Net
|
erstellt am: 29. Jun. 2006 16:24 <-- editieren / zitieren --> Unities abgeben:
|