BUG-Report - Macro Basic - CALC - Link To External Data - GotoEndOfUsedArea(False) not updating

Hallo *,

mit "CALC [Tabelle][Verknüpfung zu externen Daten...]" kann man eine "ods"-Datei mit einer "csv"-Datei verknüpfen, was auch bestens funktioniert.

Aber:

Bestimmt man mit einem BASIC-Makro die Größe der Tabelle via "GotoEndOfUsedArea(False)", werden die Tabelle-Größen-Änderungen (Spalten/Zeilen bzw X/Y) vom BASIC-Makro nicht erfasst. Irgendwie scheint "GotoEndOfUsedArea(False)" die Tabellen-Größen-Änderung in der "ods"-Datei nicht mitzubekommen.

Ich habe mal einen BUG-Report abgesetzt:

Bug 146099 <https://bugs.documentfoundation.org/show_bug.cgi?id=146099> - Macro Basic - CALC - Link To External Data - GotoEndOfUsedArea(False) not updating

Dort sind auch unter " Attachments" die csv-Datei und das BASIC-Makro zum Testen zu finden. Der Test-Zeitaufwand ist minimal ...

Wäre nett/hilfreich, wenn jemand diesen BUG bestätigen könnte ...

Viele Grüße
Hans-Werner :-))

Hallo Hans-Werner,

ich habe in deinem Makro den Close auskommentiert, damit ich die Datei auch sehen kann. Da stelle ich fest, dass auch in dem zweiten Fall, wo du zwei Zeilen hast und 5 und 1 erwartest, nur die eine Zeile mit den 5 Zahlen angezeigt wird.
Ich schließe daraus, dass es nicht daran liegt, dass die Tabelle die Größenänderung nicht mitbekommt, sondern dass vielmehr die Calc-Tabelle gar nicht aktualisiert wird.
Das ist auch genauso, wenn ich die ODS.ods wieder direkt öffne, da kommt der Hinweis, dass das automatishe Aktualisieren deaktiviert ist.
Ich habe nun beim Verknüpfen das automatische Aktualisieren nach 60 sec aktiviert und dann als ODS2.ods gespeichert, aber die Datei offen gelassen, danach die csv-Datei erweitert, und nach kurzer Zeit, das werden wohl die 60 sec gewesen sein, wurde die Anzeige verändert, ich sah die neuen Daten. Wenn ich diese ODS2.ods nun schließe und erneut öffne, sehe ich wieder die alte Anzeige mit einer Zeile und wieder den Hinweis, dass das automatishe Aktualisieren deaktiviert ist.
Du hast offenbar ein anderes Verständnis, was passieren soll, als was realisiert ist. Ich selbst habe eigentlich noch gar kein klares Verständnis davon, die Funktion war mir auch neu. Aber es scheint mir eher so zu sein, dass das Aktualisieren standardmäßig ausgeschaltet ist, und man es entweder beim Erstellen der Verknüfung einschaltet, so dass es für die Dauer der Öffnung der Datei aktiv ist, oder nach erneutem Öffnen wieder aufgrund des Hinweises einschalten kann.
Aber auf jeden Fall ist das eigentliche Problem, dass die aktuellen Daten der csv-datei zunächst nicht zur Verfügung stehen. Dein Makro müsste also erst einmal dafür sorgen, dass die Daten aktualisiert werden. Ich habe ein bisschen mit Xray im Dokument, in .CurrentController und .Sheets.getByIndex(0) gesucht, aber nichts gefunden; aber das war nur oberflächlich.

Viele Grüße

Gerhard

Hallo Gerhard,

erst mal herzlichen Dank, dass Du Dir die Zeit genommen hast das Problem zu untersuchen :-))

Das Makro spiele JETZT erst mal keinerlei Rolle, es geht nur um das Grundsätzliche, dieses (neue) Feature:

CALC [Tabelle][Verknüpfung zu externen Daten]

[0] Mein Verständnis dieser neuen Funktion "CALC [Tabelle][Verknüpfung zu externen Daten]"

+ ODS.ods wird (in meinem Beispiel) verknüpft mit CSV.csv, d.h., die CSV-Daten werden (wunderbar automatisch) in die CALC-Datei importiert.

+ Ist bei "Aktualisieren alle ?? Sekunden" kein Häckchen gesetzt, werden bei der GEÖFFNETEN ODS.ods Änderungen in der CSV.csv NICHT AKTUALISIERT/ANGEZEIGT.

+ Ist bei "Aktualisieren alle ?? Sekunden" das Häckchen gesetzt, werden bei der GEÖFFNETEN ODS.ods Änderungen in der CSV.csv AKTUALISIERT/ANGEZEIGT in Abhängigkeit des angegebenen Zeitintervalls "?? Sekunden". "Aktualisieren alle ?? Sekunden" bewirkt, das nach jeweils ?? Sekunden die geöffnete ODS.ods aktualisiert wird in Abhängigkeit vom jeweils aktuellen Inhalt der CSV.csv. Die CSV.csv muss dabei nur gespeichert werden, ein Schließen ist nicht notwendig.

+ Unabhängig davon, ob das Häckchen gesetzt ist oder nicht: Wird die ODS.ods neu geöffnet, wird die (importierte) CSV.csv korrekt/aktualisert angezeigt.

[1] TEST 1 - Häckchen bei "Aktualisieren alle ?? Sekunden" NICHT GESETZT

+ CSV.csv beinhalte "0,1,2,3,4"
+ Öffnen neue ODS.ods
+ CALC [Tabelle][Verknüpfung zu externen Daten] mit CSV.csv, OHNE "Aktualisierungs-Häckchen.
+ CALC speichern und schließen.
+ Modifizieren CSV.csv: Jetzt 2 Zeilen a "0,1,2,3,4,5". Speichern und schließen.
+ Öffnen ODS.ods: Der Inhalt wurde aktualisiert.

ZUSÄTZLICH

+ ODS.ods offen lassen und CSV.csv modifizieren zu einer Zeile a "0,1,2,3,4". CSV.csv speichern und schließen. Die ODS.ods wird nicht aktualisiert.

[2] TEST 2 - Häckchen bei "Aktualisieren alle ?? Sekunden" GESETZT und "??" sei "5" Sekunden.

+ Vorbereitung wie unter [1] angegeben !
+ ODS.ods sei geöffnet.
+ Änderungen in der CSV.csv (speichern !) werden nach "??" Sekunden in der geöffneten ODS.ods angezeigt. Die ODS.ods wird fortlaufend aktualisiert.

[3] CALC [Tabelle][Verknüpfung zu externen Daten]

+ Mit den beiden TESTs solltest Du nachvollziehen können, dass die Funktion "CALC [Tabelle][Verknüpfung zu externen Daten]" funktioniert wie von mir angenommen.
+ Unschön ist, dass unter CALC [Tabelle][Verknüpfung zu externen Daten] nichts mehr angezeigt wird, wenn man nach dem erstmaligen Setzen der Verknüpfung die Funktion "CALC [Tabelle][Verknüpfung zu externen Daten]" erneut aufruft.
+ Dein "[...] Aber auf jeden Fall ist das eigentliche Problem, dass die aktuellen Daten der csv-datei zunächst nicht zur Verfügung stehen. [...]" trifft meiner Meinung nach nicht zu.

Viele Grüße
Hans-Werner :-))

------ Originalnachricht ------

NACHTRAG zur HILFE

Aktualisierung alle
Geben Sie ein, wie viele Sekunden vor dem Neuladen der externen Daten in das aktuelle Dokument gewartet werden soll.

Update every
Enter the number of seconds to wait before the external data are reloaded into the current document.

Meiner Meinung nach ist der Hilfe-Text etwas irritierend, besser wäre meiner Meinung nach etwas in dieser Art (nur ein Vorschlag):

Aktualisierung alle
Geben Sie ein, nach wie vielen Sekunden das geöffnete Dokument immer wieder mit den externen Daten aktualisiert werden soll.

------ Originalnachricht ------