=INHALT(Datei,Tabelle,Zeile,Spalte)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: =INHALT(Datei,Tabelle,Zeile,Spalte)

Re: =INHALT(Datei,Tabelle,Zeile,Spalte)

von Stephan » Mo, 13.06.2011 10:53

Damit ist doch
=DDE("soffice";$A$1;ADRESSE($B2;C$1;4;1;"Tabelle1");2)
ein Link auf eine externe CSV Datei, oder?

Ja stimmt (wobei Verknüpfung und nicht Link).

Gruß
Stephan

Re: =INHALT(Datei,Tabelle,Zeile,Spalte)

von Theozh » Mo, 13.06.2011 10:02

Hallo Stephan,

Ändere ich die CSV Datei und öffne dann wieder die .ods Datei sind sind die Änderungen in der .ods Datei drin. Frag mich nicht wieso. Mit OO 3.3.0 OOO330m20 Build 9567 scheint das zu gehen.

Wieso nichts zu tun mit dem Nachgefragten?
In Tabelle Auszug.$A$1 steht "E:/Test/Adressbuch.csv"
Damit ist doch
=DDE("soffice";$A$1;ADRESSE($B2;C$1;4;1;"Tabelle1");2)
ein Link auf eine externe CSV Datei, oder?

"Alles in Ordnung" stimmt vielleicht nicht ganz. Wann und wie die Umlaute manchmal korrekt geladen werden habe ich noch nicht verstanden.
z.B. Mühltorstr. statt Mühltorstr. usw.
Wie kann man einer .ods Tabelle sagen, dass sie UTF-8 einladen bzw. interpretieren soll?

schönen Gruss,
Theo.

Re: =INHALT(Datei,Tabelle,Zeile,Spalte)

von Stephan » Mo, 13.06.2011 01:18

Und danach alles ist bei mir in bester und aktueller Ordnung :-).
Das kann ich mir beim ALLERBESTEN Willen nicht vorstellen, da es NICHT möglich ist eine Verknüpfung zu einer csv(!) Datei zu aktualisieren.

Was Deine vorgestellte Lösung hingegen mit dem Nachgefragten zu zun haben soll verstehe ich nicht denn dort findet offensichtlich nur eine DDE-Verknüpfung zu einer Tabelle innerhalb der DAtei statt, also mitnoichten eine Verknüpfung zu einer csv-Datei.



Gruß
Stephan

Re: =INHALT(Datei,Tabelle,Zeile,Spalte)

von Stephan » Sa, 11.06.2011 21:45

aus der OO-Hilfe zu DDE werde ich nicht schlau...
und warum nicht? WEnn Du Hilfe zur Hilfe willst mußt Du schon erklären was Du nicvht verstehst.
=DDE("soffice";"E:/Test/Alphabet.csv";Tabelle1.A1;2)
gibt mir keinen Wert zurück
#NV nicht verfügbar
Augenscheinlich entspricht diese Formel ja auch nicht einer Formel für eine DDE-Verknüpfung, denn z.B. die Hilfe von OOo liefert folgendes Beispiel:

=DDE("soffice";"c:\office\Dokument\Daten1.sxc";"sheet1.A1")

womit klar sein dürfte das der Parameter für den Bereich als String:

"Tabelle1.A1"

zu übergeben ist und nicht als

Tabelle1.A1

In der Zelle mit dieser Formel müsste doch jetzt der Wert aus Zelle A1 der Tabelle1 der CSV Datei stehen, oder?
Nein, weil das für csv-Dateien nicht geht. (Es geht nur scheinbar, da es solange geht wie beide Dateien geöffnet sind, sobald man diue csv-Datei schließt und die Verknüpfung, egal ob DDE- oder file-Verknüpfung) aktualisieren will geht es nicht.
mit z.B.
='file:///E:/Test/Alphabet.csv'#$Tabelle1.B1
konnte ich bis jetzt problemlos die Daten aus der CSV "herausholen".
Soweit mir bekannt: Nein, das konntest Du nicht, weil dieses 'problemlos' immer nur so lange funktioniert wie die Datei(en), nach Herstellen der Verknüpfung, geöffnet bleiben.
Wenn ich die .ods Datei mit solchen Verlinkungen öffne, fragt OO ob ich aktualisieren will, d.h. wenn ich aktualisieren will, muss ich die Datei schliessen und wieder öffnen. Einen anderen Weg habe ich noch nicht entdeckt.
Darin liegt aber nicht das Problem, das liegt vielmehr darin das Du nicht eine Verknüpfung zu einer csv-Datei aktualisieren kannst wenn diese einmal geschlossen wurde, sondern immer nur solange wie diese, nach Herstellen der Verknüpfung, offen bleibt.
Aktualisieren von Verknüpfungen wäre hingen ganz sdimpel über Bearbeiten-Verknüpfungen möglich, es geht aber unter den hier vorliegenden Umständen nicht.
Da muss es doch noch etwas anderes geben...
Meines Wissens nein.

Ich hatte deutlich gemacht das es bei dem Problem um csv geht und nur darum denn mit xls oder ods etc. gehjt es ja wie gewünscht. Für csv hingegen kenne ich keinen Weg einer aktualisierbaren, dauerhaften Verknüpfung mit Bordmitteln von Calc.



Gruß
Stephan

Re: =INHALT(Datei,Tabelle,Zeile,Spalte)

von Theozh » Sa, 11.06.2011 21:24

Danke für die Rückmeldungen...

@Karo
aus der OO-Hilfe zu DDE werde ich nicht schlau...
=DDE("soffice";"E:/Test/Alphabet.csv";Tabelle1.A1;2)
gibt mir keinen Wert zurück
#NV nicht verfügbar
In der Zelle mit dieser Formel müsste doch jetzt der Wert aus Zelle A1 der Tabelle1 der CSV Datei stehen, oder?
Ich möchte auch nicht den ganzen Bereich "rüberholen", sondern nur einzelne ausgewählte Werte.

@Stephan
mit z.B.
='file:///E:/Test/Alphabet.csv'#$Tabelle1.B1
konnte ich bis jetzt problemlos die Daten aus der CSV "herausholen".
Wenn ich die .ods Datei mit solchen Verlinkungen öffne, fragt OO ob ich aktualisieren will, d.h. wenn ich aktualisieren will, muss ich die Datei schliessen und wieder öffnen. Einen anderen Weg habe ich noch nicht entdeckt.

Die Daten manuell kopieren oder ein Makro schreiben... genau das möchte ich vermeiden.

Da muss es doch noch etwas anderes geben...

Re: =INHALT(Datei,Tabelle,Zeile,Spalte)

von Stephan » Sa, 11.06.2011 21:03

Du kannst eine csv-Datei unter diesen Bedingungen nicht verlässlich in OOo einbinden, da Du beim Schliessen und Neuöffnen der Datei die Verknüpfung zur csv-Datei nicht auffrischen kannst.

Du wirst also die Daten der csv-Datei manuell in die dAtei kopieren oder per Makro übertragen müssen.


Gerade Gesagtes gilt natürlich nur für das Verknüpfen von csv-Dateien in Calc und nicht für normale tabellendokumente wie z.B. xls oder ods.



Gruß
Stephan

Re: =INHALT(Datei,Tabelle,Zeile,Spalte)

von Karolus » Sa, 11.06.2011 20:22

Hallo
Angenommen du ergänzt A5 bsplw. zu:
Tabelle1.A1:B5
kannst du mit

Code: Alles auswählen

=DDE("soffice";A1&A2;A5;2)
als Matrixformel, (wg des mehrzelligen Bereichs)
diesen Zellbereich "rüberholen"
Siehe OOohilfe →DDE

Gruß Karo

=INHALT(Datei,Tabelle,Zeile,Spalte)

von Theozh » Sa, 11.06.2011 19:48

Hallo,

In einer .ods Tabelle habe ich folgende Zellen

Zelle Inhalt
A1 E:/Test/
A2 Adressbuch.csv
A3 file:///E:/Test/Adressbuch.csv
A4 file:///E:/Test/Adressbuch.csv#Tabelle1
A5 Tabelle1
A6 Tabelle2

Nun möchte ich Inhalte aus einer CSV Datei einbinden gemäß einer Funktion "INHALT", die ich vergeblich gesucht habe:
=INHALT(Datei,Tabelle,Zeile,Spalte)

als Direktreferenz funktioniert es z.B. folgendermaßen
='file:///E:/Test/Adressbuch.csv'#Tabelle1.B5
Bei einer CSV Datei gibt es offensichtlich nur eine Tabelle, die man aber mit "Tabelle1" ansprechen kann.

Nun möchte ich:
1. Den Dateinamen nur einmal im Feld A1 und nicht in allen Formeln ändern müssen,
2. Die Zeilen und Spalten beliebig berechnen lassen

Wenn ich die Adressdaten in einer zweiten Tabelle (namens Tabelle2) in der gleichen Datei habe, dann funktioniert folgendes:
=INDIREKT(ADRESSE(ZeilenFormel;SpaltenFormel;1;1;$A$6))
wobei $A$6 den Text "Tabelle2" enthält und die Zeilen und Spalten als Referenz auf Zahlenwerte gegeben sind oder per Formel ausgerechnet werden.

Wenn sich die Adressdaten nun aber in einer externen Datei (Pfad und Name in A1 und A2 festgelegt) befinden, wie kann man es dann realisieren?

=INDIREKT(ADRESSE(Zeile;Spalte;1;1;$A$4)) führt zu Err:508 "Fehler in der Klammerung".

mit SVERWEIS() komme ich auch auf keinen grünen Zweig...
Wer kann mir weiterhelfen?

Danke für Hinweise...
Theo.

Nach oben