Folgendes Problem ist bei uns aufgetreten:
Ich habe ein umfangreiches OO-Basic-Makro geschrieben, das Inhalte bestimmter Sheets einer vorhandenen Arbeitsmappe in eine neue Arbeitsmappe kopieren soll, nachdem vorher über eine Vorlagendatei das Sheet in der neuen Arbeitsmappe neu angelegt wurde. Das neue Sheet wird mittels der von Andrew Pitonyak vorgestellten Routine in die neue Arbeitsmappe kopiert (Markieren, Kopieren und Enfügen über die Zwischenablage aller Zellen des Sheets).
Ablauf:
1. Auswählen der Datei, aus der in die neue Datei kopiert werden soll.
2. Anlegen einer neuen Datei mittels Vorlage
3. Kopieren bestimmter Kopfdaten in ein vorhandenes Sheet der neuen Datei über die Zwischenablage.
4. Ermitteln der Sheets, die kopiert werden müssen
5. Anlegen des neuen Sheets durch Kopieren aus einer weiteren Vorlagendatei
6. Kopieren der Werte aus dem alten Sheet in das neue Sheet über die Zwischenablage
Die Schritte 5 und 6 laufen in einer Schleife über die zu kopierenden Arbeitsblätter
So weit, so gut – das funktioniert auch einwandfrei.
Wenn ich jetzt aber den Wertebereich, der sich aus mehreren Zeilen und Spalten zusammensetzt, aus dem alten Sheet in das neu angelegte Sheet mit Hilfe der Zwischenablage kopieren will, bleiben die Zellen, in die diese Werte eingefügt werden sollen, leer. Das Sheet, in das eingefügt werden soll, ist nicht geschützt (wird vorher über das Makro geprüft). Das Makro läuft einwandfrei bis zum Ende durch; in den Sheets fehlen am Ende lediglich die Werte, die aus der Zwischenablage nach dem Anlegen des neuen Sheets eingefügt werden sollen; Werte, die vorher ebenfalls über die Zwischenablage kopiert und in andere Sheets eingefügt werden, sind ebenfalls vorhanden.
Über die Debughilfen konnte ich feststellen, dass die Markierungen der zu kopierenden Bereiche einwandfrei vorgenommen werden.
Ein Test mit der Zwischenablage ergab, dass sich nach Programmende noch die gesamte aus der Vorlage kopierte Tabelle in der Zwischenablage befindet.
Was läuft hier falsch?
Wer hat ähnliche Probleme schon mal gehabt und kann mir evtl. weiterhelfen?
OO-Version 2.0.3 unter Windows 2003 Server.
Kopieren und Einfügen über die Zwischenablage
Moderator: Moderatoren
Kopieren und Einfügen über die Zwischenablage
mit freundlichen Grüßen
Rainer
Rainer
Hey Rainer,
also ohne Code - schwer etwas zu sagen
Im Übrigen: Ich halte den Weg für sehr umständlich. Wenn du per Makro doch schon in den einzelenen Dokumenten "rumfuhrwerkst, wozu dann die Zwischenablage - also eine Betriebssystem bzw. Gui Varainte. Du kannst doch die Inhalte dann direkt von einem Obkjekt auf ein anderes übertragen - innerhalb von Basic ? Das wäre nach meinem Verständnis der direkte und sinnvollere Weg.
Aber wie gesagt, ohne Code schwer etwas zu sagen
Gruss
Thomas
also ohne Code - schwer etwas zu sagen

Im Übrigen: Ich halte den Weg für sehr umständlich. Wenn du per Makro doch schon in den einzelenen Dokumenten "rumfuhrwerkst, wozu dann die Zwischenablage - also eine Betriebssystem bzw. Gui Varainte. Du kannst doch die Inhalte dann direkt von einem Obkjekt auf ein anderes übertragen - innerhalb von Basic ? Das wäre nach meinem Verständnis der direkte und sinnvollere Weg.
Aber wie gesagt, ohne Code schwer etwas zu sagen

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic