Text aufsplitten (Semikolon, Leerzeichen, Exelproblem)

symax

Mitglied
Hallo,

Erstmal entschuldigung das ich so einen langen Text schreibe :)
Ich versuche mein Problem so detailiert wie möglich zu schreiben.
Ich benutze Visual Basic 6.0 (Studentenversion => Keine Hilfedatei)

Ich versuche eine Automatisierte möglichkeit zu machen, eine Database zu bearbeiten (SalesHistory von Ebay convertieren zur Buchhaltung)

Ich habe inzwischen die Exeldatei offen nur hierbei 3 Probleme:
Wie schaffe ich es, das VB wartet bis die Datei offen ist?
Warum legt Exel eine neue Tabelle mit dem Namen "Objects" an?
Wie kann ich eine Zeile/Spalte in einem anderen SUB auslesen als da, wo ich die Datei geöffnet habe? ich krieg in einem anderen SUB immer nur ein leeres Fenster (text6.text, GANZ unten ist bisheriger code des SUBS öffnen [muss evtl. was in option explicit?])
=> gibt es da eine abhilfe?

Nun zum anderen Problem:
Ich habe meinen Input in der Form:
Verkaufsprotokollnummer;Mitgliedsname;Name des Käufers;Telefonnummer;E-Mail-Adresse;Adresse 1;Adresse 2;Ort;Region;PLZ;Land; .....usw.....

Ich muss es ausgeben als:
Vorname;Nachname;Emailadresse;Strasse;Wohnort;Matchcode(lt. Eingabe)

Das Problem: Ich muss jede zeile mehrfach aufsplitten (getrennt mit Semicolon)

Ich habe nun Probleme dies zu machen, da mit VBAleft es nicht geht (Namen sind ja unterschiedlich lang)
Ich müsste es ja ab dem ; trennen => zusätzlich muss ich Name des Verkäufers auch trennen, dieser ist zusammengeschrieben. Ein Beispiel

INPUT:
6289;"Ebayname";"Max Mustermann";"";"email@web.de";"strasse 2c";"";"ort (anderes interessiert nicht)

OUTPUT 1 soll so aussehen (variable = v)

v(0) = Max
v(1) = Mustermann
v(2) = email@web.de
v(3) = Strasse 2c
v(4) = ort
usw

OUTPUT 2 (datei erstellen)
v = v(0) & ";" & ..... (Buchhaltungskonform, des krieg ich so einfach hin :rolleyes:)


Aber das Problem ist das Aufsplitten in die verschiedenen Variablen (incl. Vor/nachname)

habt ihr da einen Vorschlag, wie das am einfachsten geht?


THX dafür, das ihr alles durchgelesen habt ^^ Bin leider ein neuling auf VB-Gebiet =)
MFG
Symax

-------------------------- CODE ZUM ÖFFNEN DER EXELDATEI -----------------------------

Dim objExcel As Object
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.open FileName:="d:\SalesHistory.csv"
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")
' Excel mit Hilfe des Application-Objekts
' bereitstellen.
ExcelSheet.application.Visible = True

Auslesen eines textes

Text6.Text = ExcelSheet.application.Cells(1, 1).Value
 
Ich habe jetzt nicht deinen gesamten Text gelesen ( verzeih mir ;-) ) aber ich denke der Split Befehl sollte dir helfen.

Beim schreiben aus einer Datenbank zum Beispiel Access in Excel gibt es die möglichkeit das direkt als Excel zu exportieren. Suche hierfür mal nach select into Excel.Application


Grüsse bb
 
So habe soweit geschafft, den string aufzusplitten.
nun bleibt noch das Problem mit dem Exel-Fenster (& Timer)
und ein neues:

als wohnort erhalte ich aus derTabelle

"wohnort

wie kriege ich das " am anfang weg? mit replace hab ichs nich hingekriegt ...

MFG
Symax
 
Entweder du entfernst mit Replace() alle Anführungszeichen oder du prüfst, ob das erste Zeichen ein Anführungszeichen ist und nimmst alle danach mit Right().


Der Doc!
 
THX an alle, hat perfekt funktioniert
(THX an DrSoong für den code:))

habs folgendermaßen gelöst (falls jemand interessiert):



email.Text => dort steht z.B. "maxmusterman@web.de" drin
email.Text = Replace$(email.Text, Chr$(34), "")

==> jetzt steht in email.text => maxmusterman@web.de


MFG
Symax
 
Zurück