Seite 1 von 2

Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 09:11
von icystorm
Guten Morgen,

ich habe ein Problem, zu dem mir nicht mal ein Passender Titel einfällt ;)

Also es geht um folgendes. Ich habe für jeden Kunden eine eigene .sxc Datei die wie folgt benannt sind:
PK-0001-Huber.sxc
PK-0002-Mayer.sxc
...

Jetzt hatte ich die Idee eine Mappe zu erstellen, in der alle Kunden stehen. Sie solle Spalten einthalten wie, Kundennr., Name, Vorname, Telefon,....
Soweit so gut. Habe immer jeweilige Zelle mit der des Kundenkontos verknüpft. Meine Frage lautet nun, gibts es eine möglichkeit, dass Calc automatisch anhand der in der linken Spalte stehenden Kundennummer(nur die Zahl, ohne den Nachnamen wie im Dateinamen) das Kundenkonto automatisch zuweist?

Also hier mal ein beispiel.

In der "Übersicht" steht unter Kundennummer: 0001
Die richitge Verknüpfung äre dann beispielsweise für Name: ='file:///c:/04 - Kunden/PK-0001-Huber.sxc'#$Huber.$I$3

Also ich will quasi, dass er die Dateinamen nach der Kundennummer durchsucht und automatisch alle restlichen Felder ausfüllt.
Besteht da eine möglichkeit das hinzubekommen?

Danke euch schon mal im Vorraus

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 09:57
von komma4
...mit reinen Calc-Mitteln geht das nur, wenn Du alle Dateinamen im Dokument speicherst.... ginge das?

Ansonsten geht's das mit Makros...

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 10:09
von icystorm
Danke für deine Antwort.

Ich bin nicht sehr Excel bzw. Calc begabt. Würdest du mir noch nen Tipp geben wie ich die Dateinamen im Dokument speichere? Achja und ist das sehr aufwendig, weil es an die 1400 Kunden sind.
Dankeschön

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 10:31
von komma4
Deinen Dateinamen zu urteilen hast Du irgendein Windows, also:

zum Beispiel ein DOS-Fenster öffnen, nach c:\04-Kunden wechseln und dort ein dir /b >d:\kunden.txt ausführen.
Wenn ich mich recht entsinne werden damit nur die Dateienamen ausgegeben.

Die Datei öffnest Du (mit notepad?), und kopierst alle (STRG+A) in ein neues Calc-Tabellenblatt (STRG+V).

Die Formeln zum Suchen muss ich nachher ausprobieren.... unsere Netzverbindung zum Server des Kunden ist gerade zurück - ich muss ein bissel arbeiten ;-)

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 11:03
von icystorm
Super Danke, hab soweit alle Dateinamen in einem neuen tabellenblatt.
Hoffe dass du dich gleich wieder meldest :D
Aber arbeite erst mal schön...
und Danke nochmal dass du mir hilfst ;)

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 15:11
von komma4
Du hast nun die 1400 Dateinamen auf einem Blatt (angenommen: Spalte A auf Blatt "Dateien")

Nun füge eine Spalte VOR den Daten ein und verwende (in dieser neuen Spalte A) die Formel:

Code: Alles auswählen

=TEIL(B1;27;4)
Deine Dateinamen sind in Spalte B gewandert, aus ihnen holen wir mit der Formel die KdNr. - Formel auf alle 1400 Zeilen runterziehen

Zur Einfachheit halber habe ich nun den gesamten Bereich (A1:B1400) markiert und per Daten>Bereich festlegen.... als "kunden" benannt.


Um nun den vollen Dateinamen zu einer KundenNr. (in einer Zelle E1, des aktuellen Blatts) zu erhalten kannst Du die Formel

Code: Alles auswählen

=SVERWEIS(E1;kundenNr;2;0)
verwenden

Schwebte Dir so etwas in der Art vor?

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 15:53
von icystorm
Hallo,

dankeschön, aber so funktionierts bei mir nicht. bem sverweis kommt immer #name raus.
Woran liegt das?

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 16:09
von balu
Hallo icystorm,

ausnahmsweise sagt die Fehlermeldung das was sie meint. "#name" Da ist ein Name, den Calc nicht kennt.

Bei seiner Erklärung ist Winfried ein kleiner fehler unterlaufen. Er hat unter Daten>Bereich festlegen Kunden gesagt. Jedoch in SVERWEIS kundenNr eingetragen. Trage also dort auch Kunden ein, dann sollte es funktionieren.

Gruß
balu

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 16:49
von balu
Hi paljass,

habe das schlimmste überstanden. :lol:

Und warum soll es Dir besser ergehen als mir? Was glaust Du wohl wieviele Antworten ich über Bord werfen musste, als ich in der Vorschau gesehen hatte das da schon einer vor mir war. :evil:
paljass hat geschrieben: P.S.: ich geb aber nicht auf...
Na das wollen wir aber doch stark hoffen :mrgreen:


gruß
balu

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Do, 21.02.2008 20:43
von komma4
Tja, hatte zuerst mit einem Bereich "kunden" gearbeitet, dann aber für diesen Fall einen neuen Bereich "kundenNr" inkl. den 4-stelligen eingerichtet....

@paljass
weiß ich auch gar nicht, was er genau vorhat
wir können so doch per Formeln auf weitere Daten zugreifen, bspw. per DDE. Das war doch das Ziel:
Eingabe einer "Nummer" in der "Übersicht", dann soll automatisch Weiteres angezeigt werden... (der Wert der Zelle: i3 ?!)

@icystorm
Die Ausgabe von DIR sieht doch so aus:

Code: Alles auswählen

c:/04 - Kunden/PK-0001-Huber.sxc
c:/04 – Kunden/PK-0002-Mayer.sxc
c:/04 – Kunden/PK-0003-Schröder.sxc
c:/04 – Kunden/PK-0004-Leuthäuser-Schnarrenberger.sxc
Davor in Spalte A die Kundennummern.


Nun legen wir ein Blatt an "formeln" und ermitteln die Bestandteile für einen dynamischen Zugriff:

A1 dateiname
b1 =INDEX(kunden;übersicht.B1+1;2)
REM die zweite Spalte mit den Dateinamen anzeigen, zur Kundennummer, die auf "übersicht" eingegeben werden wird

A2 vorspann
b2 c:\04 – Kunden\PK-0000-
REM der Teil des Dateinamens vor dem Kundennamen

A3 Länge
B3 =LÄNGE(b2)
REM nummerische Ausgabe der Länge

A4 tabelle
b4 =TEIL(B1;B2+1;LÄNGE(B1)-B2-4)
REM Tabellenname = Kundenname (lt. Beispiel)

A5 zelle
B5 $i$3
REM Zelladresse zum Auslesen

A6 dateiURL
B6 =VERKETTEN( "file:///"; b2)
REM DDE Anteil dateiURL
A7 tabZelle
B7 =VERKETTEN( b4; "."; b5 )
REM ergibt: tabellenname.I3



Auf der "Übersicht":
A1 Kundennr.:
A2 Kunde:
B1 deine Eingabe der Kundennummer
B2 =DDE( "soffice";formeln.B6;formeln.B7 )
REM ergibt den Wert des Kunden aus dessen Datei, Zelle i3



Getestet mit OOo 2..4.1rc1-de unter Linux, zugegebenermassen mit Dateinamen ohne Leerzeichen, und *.ods Zieldateien.


Kommst Du so zurecht?


Edit 21:20h: Beispieldatei (ods) hochgeladen
de.16282.Beispieldatei
mit Testformeln für Windows- und Linux-Dateinamen. DDE-Formel korr.

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Fr, 22.02.2008 09:06
von icystorm
Ja soweit hab ich das glaub ich verstanden. :lol:

aber eins stimmt nicht. Meine dir ausgabe sieht nicht so aus wie du sie gepostet hast! oO
Bei mr steht der Pfad nicht mit dran. Also nur PK-0001-Huber.sxc beispielsweise

Edit. Um nochmals auf die Sverweis formel zu kommen. die muss ich doch ins Feld e1 schreiben oder?

also steht im Feld E1:

Code: Alles auswählen

=SVERWEIS(E1;kunden;2;0)
Dann steht da aber

Code: Alles auswählen

Err:522
Und schreib ich die obige Formel nicht in Feld E1 kommt raus.

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Fr, 22.02.2008 09:48
von komma4
icystorm hat geschrieben:Bei mr steht der Pfad nicht mit dran. Also nur PK-0001-Huber.sxc beispielsweise
Sollte kein Problem sein (Formeln anpassen, dann den/einen fixen "Vorspann" (mit Laufwerk/Pfadangabe) mit Dateinamen verknüpfen)

icystorm hat geschrieben:Edit. Um nochmals auf die Sverweis formel zu kommen. die muss ich doch ins Feld e1 schreiben oder?
also steht im Feld E1:

Code: Alles auswählen

=SVERWEIS(E1;kunden;2;0)
Wenn Du in E1 die Kundennummer eingibst, kommt die Formel in E2: sie sucht, mit Suchbegriff aus E1, im Bereich, der als "kunden" benannt wurde, den Treffer (zu E1 in erster Spalte) und gibt die zweite Spalte zurück.

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Fr, 22.02.2008 10:07
von icystorm
Also bei mir läuft das alles nicht so wie ich will :o

Schau dir mal die beiden Bilder an und sag mir mal da deine Meinung

http://img84.imageshack.us/img84/3065/tabellems5.jpg

Re: Automatisches Verknüpfen mit anderen Dateien

Verfasst: Fr, 22.02.2008 10:23
von komma4
zunächst brauchst Du die Kundennummern in Spalte A (rechtes Bild):

Deine Formel =Teil(b1;27;4) bedeutet: von B1 ab Pos. 27 4 Zeichen.... das geht nicht....

Du hast den festen Teil "PK-" (Länge: 3 Zeichen) vor Deiner Kundennummer
und die Länge ist immer 4 Stellen

also =Teil(B1; 4; 4)

Formel nach unten kopieren!


Nun den Daten>Bereich festlegen... als "kunden" ("Zusätze" aufklappen und "enthält Spaltenköpfe" deaktivieren)


Nun sollte auch die Aktion des linken Bildes klappen.




PS: bei Deinen Dateinamen hat's die Umlaute zerschossen....