Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

popofz
***
Beiträge: 53
Registriert: Mi, 12.01.2011 16:53

Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Beitrag von popofz »

Hallo Forum

Ich suche ein Makro das beim Aufruf einer OOc Datei immer ein bestimmtes Arbeitsblatt öffnet egal mit welchem Blatt die Datei zuletzt abgespeichert wurde.
Wer kann mir den Code schreiben bzw. mitteilen wo sich ein solches Makro befindet?

Mfg. Peter
WIN 7 64bit, WIN XP, OO 4.1.1
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Beitrag von Stephan »

erstelle ein Makro welches das gewünschte Tabellenblatt aktiviert z.B.:
http://www.dannenhoefer.de/faqstarbasic ... tiver.html

und ordne dieses Makro dem Dokument-Ereignis:

Extras-Anpassen-Ereignisse-Dokument öffnen

zu.


Gruß
Stephan
popofz
***
Beiträge: 53
Registriert: Mi, 12.01.2011 16:53

Re: Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Beitrag von popofz »

Hallo Stephan

Ich habe den Link von Dir aufgerufen und mir das entsprechende Makro in meine Testdatei kopiert und hoofentlich richtig nach Deiner Anweisung installiert. Leider bekomme ich eine Fehlermeldung beim Aufruf der Testdatei. Ich habe beides hier bereit gestellt.
Was habe ich da nur wieder falsch gemacht?
OOc_Open-Makrofehler.PNG
OOc_Open-Makrofehler.PNG (18.24 KiB) 4498 mal betrachtet
Test_Makro-Inhaltsverzeichnis.ods
(15.12 KiB) 103-mal heruntergeladen
Mfg. Peter
WIN 7 64bit, WIN XP, OO 4.1.1
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Beitrag von balu »

Hallo Peter!

Regel No 1:
Verwende weder für Variablen, noch für den Namen einer Sub deutsche Umlaute und/oder Sonderzeichen! Probleme sind vorprogrammiert.


Zu deinem Problem.
Schau dir den Link noch mal ganz genau an. Ich glaube in deiner besagten Sub fehlt etwas.
Und ferner, die Stelle die Farblich angemäääckert wird, muss wohl ein unerlaubtes nicht sichtbares Zeichen enthalten. Lösche die Leerzeichen.

Code: Alles auswählen

getByName(Übersicht)
Enthält einen Fehler. So wird der Tabellenblattname nicht geschrieben, wenn Du das Blatt direkt ansprichst. Es sei denn, Übersicht ist ein Name für eine Variable.
Wenn dir das nicht weiterhilft, dann schau mal in deiner Bibliothek "Standard" in das Module1 rein, da steht die Lösung. Oder befasse dich mit dem Link, denn dort wirst Du in der Rubrik "Tabellen - Calc" weitere Infos finden.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Beitrag von Stephan »

und mir das entsprechende Makro in meine Testdatei kopiert


aber offensichtlich nicht in die DAtei die Du hier hochgeladen hast, denn das dortige Makro enthält Parameter (--> myDoc as Objekt, sheetsname as String) die im Ursprungsmakro garnicht vorhanden sind.

Nimst Du das verlinkte Makro das mit Blattnamen arbeitet (die Alternative wäre das mit dem Blattindex), so war/ist das:

Code: Alles auswählen

myDoc = ThisComponent
myView = myDoc.CurrentController
mySheet = myDoc.Sheets.getByName(sheetsname)
myView.setActiveSheet(mySheet)


ergänze dort den Tabellennamen und gibt dem Makro einen Namen:

Code: Alles auswählen

Sub JumpToSheetsName()
myDoc = ThisComponent
myView = myDoc.CurrentController
mySheet = myDoc.Sheets.getByName("Übersicht")
myView.setActiveSheet(mySheet)
End Sub
und hoofentlich richtig nach Deiner Anweisung installiert
Leider nein, denn das dem EReignis zugewioesene Makro heißt ja "JumpToSheet", das tatsächlich jedoch existente Makro "JumpToSheetsName"


Gruß
Stephan
Dateianhänge
Test_Makro-Inhaltsverzeichnis.ods
(14.4 KiB) 90-mal heruntergeladen
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Beitrag von Stephan »

Verwende weder für Variablen, noch für den Namen einer Sub deutsche Umlaute und/oder Sonderzeichen! Probleme sind vorprogrammiert.
Keine Regel ohne Ausnahme, wenn ein Makroname Umlaute enthalten soll, setze den Namen in eckige Klammern:

Code: Alles auswählen

Sub [Übersicht]()

End Sub
Das ist z.B. dann nötig/nützlich wenn das Makro deshalb einen bestimmten Namen haben soll weil er der Schaltfläche eine Symbolleiste zugeordnet werden soll und dort ja dann der Makroname dem angezeigten Tooltipp der Schaltfläche entspricht.


Gruß
Stephan
popofz
***
Beiträge: 53
Registriert: Mi, 12.01.2011 16:53

Re: Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Beitrag von popofz »

Hallo Stephan

Danke Du hast mir mit der korrigierten Testdatei sehr geholfen. In Zukunft werde ich deutsche Umlaute vermeiden.
Nun aber noch zu dem Makro selbst. So wie ich das Makro in der Testdatei hatte, habe ich es Deinem Link entnommen. Siehe nachfolgendes Bild.
OOc_Open-Makrofehler_2.PNG
OOc_Open-Makrofehler_2.PNG (19.52 KiB) 4443 mal betrachtet
Ich habe mich noch gewundert dass auf der Seite wo der Link hin führt, 4 my...... Zeilen standen und in dem fertigen Makro nur noch 3. Bin ich da einem Irtum aufgesessen und haben die Beiden Seiten garnichts miteinander zu tun?

Mfg. Peter
WIN 7 64bit, WIN XP, OO 4.1.1
Benutzeravatar
ChristianAC
***
Beiträge: 91
Registriert: So, 30.11.2014 23:59

Re: Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Beitrag von ChristianAC »

kann man nicht einfach hilfsweise eine Zelle oder einen Bereich mit einem Namen versehen
-und dann eine Anwahl dieser Name-Zelle mit dem Makro-Rekorder aufzeichnen?
Dann öffnet er ja das richtige,es betreffende Arbeitsblatt

Gruss Chris
Internetrechner mit Win 7 OO 3.0.0 sowie Notebook mit XP und AOO 4.1.1
VideoPoker-Spiel
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Beim öffen einer OOc Datei soll immer ein bestimmtes Arbeitsblatt geöffnet werden.

Beitrag von balu »

Hallo Stephan,
Keine Regel ohne Ausnahme, wenn ein Makroname Umlaute enthalten soll, setze den Namen in eckige Klammern:
Danke für den Tipp.
Auch wenn ich mir die Umlaute für Subs abgewöhnt habe, so werde ich ihn mir dennoch merken.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten