Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Textexport mit Zelleninhalten
#11
Hallo Oliver,

hier mit Ordnerauswahl:

.xlsm   Bohrdatenimport_V2.xlsm (Größe: 1,1 MB / Downloads: 3)

Dein Kundenproblem verstehe ich nicht ganz. Was soll wie erkannt werden und was soll sich ändern?
Einfach nochmal auf den Export-Button klicken und fertig? Reicht das nicht?


Gruß Carsten
Antworten Top
#12
Hallo Carsten,
vielen Dank. Coole Sache.

Das mit den Kunden ist so. Ich möchte später in GoogleEarth eine Ordnerstruktur aufbauen, welche sich durch die Kunden unterscheidet. Diese Eigenschaft gebe ich mit dem Print-befehl mit.

Code:
Print #ff, "    <name>"; .Cells(4, 2); "</name>"
Im Anschluss daran kommen dann die ganzen Deklarationen für das KML. Jetzt darf ja beim wechsel des Kunden nicht einfach alles nochmal hintendran geschrieben werden, sondern es muss eine
neue Datei generiert werden..... Damit die KML Header wieder stimmen.... Ist das verständlich?

Vielen Dank und viele Grüße

Oliver
Antworten Top
#13
Hallo Oliver,

ja, die Codezeile kenne ich, die hatte ich doch sogar mit einem Kommentar versehen.  ;)
Und diese sah bis letztens noch so aus:
Wobei man auf Deine Variable 'Kunde' durchaus verzichten könnte, da diese im weiteren Code nicht wiederholt genutzt wird (war sicher nur testweise eingebaut).

Code:
           'sicher '-4'? Eher doch -6 - oder?:
           Kunde = .Cells(iRow - 4, iCol)
                       
           Print #ff, "<name>"; Kunde; "</name>"



Ich denke ich habe Dein Ansinnen halbwegs verstanden, wobei ich aber wegen mangelnder Kenntnis Deines Umfeldes keine richtige Aussage treffen kann.

Status Quo:
Im Moment ist es so, dass Dein Import im hier präsentiertem Test-Excelsheet die komplette Tabelle leert und dann alle Textdateien des gewählten Ordners einliest. Das heißt, die Kundennamen müssten schon in den Textfiles richtig hinterlegt sein.
Dann muss man nur noch das KML-File generieren und fertig.
Halt, nicht ganz. Es kommt dann ganz darauf an, was Du mit dem KML-File anstellst.
Lädst Du es auf einen Webserver, dann könnte man auch mehrere KML-Files generieren und den jeweiligen Link für den Kunden/Interessierte/etc. verteilen. Ähnlich wie hier beschrieben.
Für GoogleEarth könnte/sollte auch eine Datei ausreichen, welche dann ausgetauscht wird.
Es gibt aber halt noch mehr Anwendungsfälle für KML-Files ...
Ich weiß nicht, welche Du nutzt.

Meine Frage lautet also, wann willst Du den Kundenname im Prozess tauschen?
Wie kommt der KundenName und die KundenNummer ins jeweilige 'Bohrloch-File'?
Muss immer die ganze Tabelle gelöscht werden?


Die KundenNummer an sich sollte die Namensänderung jedenfalls erleichtern.


Ansonsten:
Aufgefallen ist mir auch, dass Deine Tabelle mit jedem Bohrloch breiter wird. Im Normalfall sollte eine Zeile unten angehangen werden,  was spätere Auswertungen, etc. ungemein erleichtern würde. - Und sei es nur die simple Filterung auf einen Name.  
Ich kann verstehen, dass Du aus Übersichtlichkeitsgründen pro Bohrloch die momentane Darstellung gewählt hast. Für spätere Auswertungen taugt diese jedoch nicht.
Abhilfe:
Im momentanen Zustand kann die Tabelle einfach transponiert werden, der Datenimport und der KML-Export ist ebenfalls schnell angepasst.

Und sonst?:
Man sollte nun also zuerst das endgültige Ziel der Arbeit festlegen und dann die richtigen Mittel und Wege wählen.
In meinem Inneren bezweifle ich momentan, ob Excel hier der richtige Ansatz ist. Ich vermute, dass die Anforderungen etwas höher liegen.


Gruß Carsten
Antworten Top
#14
Hallo Carsten,

ich glaube, ich muss den ganzen Prozess beschreiben, damit das für einen aussenstehenden überhaupt verständlich ist. Blush

Ich komme mit meinem Bohrsystem auf einen Acker und gebe über ein Userinterface den Kunden und den Schlag an. Dieses Userinterface
läuft auf einer SPS, hat also nix mit einem PC zu tun. Wenn nun das Bohrsystem ein Loch bohrt, werden alle in der Tabelle aufgeführten Parameter
in ein Textfile geschrieben und auf der SPS abgelegt. Das geht quasi unendlich lange. Es ist möglich, dass der Kunde während des Prozesses wechselt.
Dementsprechend wird in der betreffenden Zeile ein anderer Name eingetragen. Sobald ich wieder zu Hause bin, lese ich über EXCEL alle einzelnen
Text-Dateien ein. diese werden dann automatisch in die Tabelle eingefügt. Es kann also sein, dass "n" Kunden in der Tabelle auftauchen.
Damit mein Kunde nun die Möglichkeit hat zu sehen, wo seine Bodenproben gezogen wurden, hab ich mir gedacht, wäre die Freeware
GoogleEath der richtige Ansatz. Nicht jeder hat eine stattliche GIS Sammlung so wie ich  :17: . Das Problem nach dem Import ist, dass alle Kunden
in einer Datei sind. Das bedeutet, dass ich die Daten in Google Earth einlesen muss und anschließend wieder auseinanderfrickeln darf.
Wenn ich für jeden Kunden eine separate Datei habe, schubs ich diese in mein eMail Programm und fertig.

Du siehst, es ist garnicht so wichtig, wie die Tabelle aussieht, da ich eigentlich da nicht reinschauen muss. Soll ja alles mehr oder weniger automatisch
gehen. Klar wäre hier eine SQL-Nummer die komfortablere oder noch besser eine eigene Software. Meine Zielsetzung war jedoch mit "Bordmitteln"
das maximale auf die Beine zu stellen. Hab ja noch gar keine Ahnung ob überhaupt jemand den Kram von mir will.


Zu deinen Fragen.....
Meine Frage lautet also, wann willst Du den Kundenname im Prozess tauschen?                         <---- kommt bei jedem import mit
Wie kommt der KundenName und die KundenNummer ins jeweilige 'Bohrloch-File'?                   <----über das Text-File

Muss immer die ganze Tabelle gelöscht werden?                                                                        <---- macht´s leichter, da damit keine Leichen oder Zombies mehr in der Tabelle sind


Ach so....das  mit der Kunden Print geschichte...... Excel schreibt den Namen einwandfrei in das kml..... aber GoogleEarth erkennt ihn nicht. schlamperei!

Viele Grüße

Oliver
Antworten Top
#15
Es wäre vernünftiger die Rohdaten der SPS zu zeigen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#16
Hallo Oliver,

ist klar, verstanden.

Ich hatte viel zu kompliziert und viel weiter gedacht ...
Du willst nur einlesen (mit Löschen des alten Inhaltes), dann pro KundenNummer ein File ausgeben und 'fertsch'.

Dann teste mal bitte:

.xlsm   Bohrdatenimport_V3.xlsm (Größe: 1,11 MB / Downloads: 2)

Zum letzten Punkt mit 'GoogleEarth erkennt ihn nicht', da müsste ich mir GoogleEarth wirklich mal installieren. Da kann ich in der Theorie allein nichts erkennen.


Gruß Carsten
Antworten Top
#17
Hallo return,


(03.05.2017, 10:17)snb schrieb: Es wäre vernünftiger die Rohdaten der SPS zu zeigen.
... sicherlich geht das Einlesen kürzer (und schneller), wenn man gleich aus einem zweidimensionalen Variant zurück schreibt.
Aber das war hier im Thread nicht die Frage.

Oder worauf zielst Du hinaus?


Gruß Carsten
Antworten Top
#18
Hallo Oliver,

habe wegen Deinem angesprochenen Problem mit dem Name noch einmal nachgeschaut und den Fehler gefunden.
Ganz am Anfang des KML-Exportes hattest Du den Name des Kunden direkt auf eine Zelle festgelegt und dadurch hatten die Dokumente den identischen Name. Ich hatte das bis eben auch übersehen, aber jetzt angepasst.

Diese Version sollte nun die gewünschten Ergebnisse liefern.
Bitte teste mal:


.xlsm   Bohrdatenimport_V3.1.xlsm (Größe: 1,12 MB / Downloads: 5)


Bis denne,
Gruß Carsten
Antworten Top
#19
Hi,
Super, funktioniert. Habe noch ein paar kleine Änderungen bei den KML-Attributen und beim Layout vorgenommen, aber jetzt
habe ich ein super Konvertierungstool.

Vielen herzlichen Dank für die tolle Hilfe.

Oliver
Antworten Top
#20
Hallo zusammen,


nur ein Hinweis am Rande, kann sein, dass der von Carsten schon kam, hab es jetzt nicht entdecken können, Ich würde empfehlen die Daten so anzuordnen:

Arbeitsblatt mit dem Namen 'Tabelle2'
 ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACAD
1Kunde:Kundennummer:Schlagname:Datum:Uhrzeit:Zone:Bohrloch:N-Koordinate:E-Koordinate:Bohrtiefe 1:Bohrtiefe 2:Bohrtiefe 3:Geschw. 0-5cm:Geschw. 5-10cm:Geschw. 10-15cm:Geschw. 15-20cm:Geschw. 20-25cm:Geschw. 25-30cm:Geschw. 30-35cm:Geschw. 35-40cm:Geschw. 40-45cm:Geschw. 45-50cm:Geschw. 50-55cm:Geschw. 55-60cm:Geschw. 60-65cm:Geschw. 65-70cm:Geschw. 70-75cm:Geschw. 75-80cm:Geschw. 80-85cm:Geschw. 85-90cm:
2Werner Mayer0815An_der_Feldscheuer17.05.201709:51:531149.1003378.70538135                    
3Werner Mayer0815An_der_Feldscheuer17.05.201709:51:531249.1003478.70538135                    
4Werner Mayer0815An_der_Feldscheuer17.05.201709:51:531349.1013478.70538135                    
5Werner Mayer0815An_der_Feldscheuer17.05.201709:51:531449.1013478.70548135                    
6Oliver Martin4711Simons_Weingarten29.06.201716:42:431149.1013488.70548230609010111213141455644764345342     
7Oliver Martin4711Simons_Weingarten29.06.201716:42:431249.1013498.70548330609010111213141455644764345342     
8Oliver Martin4711Simons_Weingarten29.06.201716:42:431349.1013508.70548430609010111213141455644764345342     
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Besonders wenn Du noch am Anfang Deines Projektes bist solltest Du es Dir gut überlegen, ob Du es nicht noch umstellst.
Gruß Atilla
Antworten Top


Gehe zu:


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