gelöst: Calc Dokumentvorlage Makro bei Start öffnen

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

Moderator: Moderatoren

erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

gelöst: Calc Dokumentvorlage Makro bei Start öffnen

Beitrag von erikafuchs »

Hallo zusammen!
Ich mal wieder!
Wer weiß was: Ich habe eine Calc Datei, bei deren Öffnen automatisch ein Makro startet, in dem der Benutzer nach seinem Namen gefragt wird, dieses Makro erzeugt eine Dateikopie unter seinem Namen - klappt wunderbar. Jetzt möchte ich diese Originaldatei aber als Dateivorlage anlegen. Wenn ich jetzt die Datei öffne wird die Datei "unbenannt" erzeugt, das Makro startet aber nicht, obwohl es bei Dateistart eingetragen ist - was ist falsch?
Grüße
Pit
Zuletzt geändert von erikafuchs am So, 04.05.2008 21:11, insgesamt 1-mal geändert.
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Calc Dokumentvorlage Makro bei Start öffnen

Beitrag von erikafuchs »

Lieber Rainer,
prima, geht, vielen Dank!
Kannst du mir nochmal weiterhelfen? Jetzt taucht nämlich ein neues Problem auf. Wie beschrieben wurde durch das Makro die geöffnete Datei "rechentrainer" nach der Eingabe des Namens des Benutzers über einen Dialog unter "rechentrainer_Name" gespeichert. Das klappt jetzt leider nicht mehr. Vorher habe ich die URL der Originaldatei ausgelesen und mit dem Namen ergänzt und so im gleichen Ordner wieder abgespeichert. Durch das Öffnen als Dokument als Tabellendokumentvorlage hat die Datei jetzt ja kein Ziel mehr, das Auslesen der URL klappt jetzt nicht mehr. Gibt es eine Möglichkeit jetzt einfach den "speichern unter" Dialog aufzurufen - aber so, dass im Namenfeld schon "rechentrainer_Name" vorgegeben ist? Oder wie kann ich jetzt einen Zielordner auswählen (und evtl. erzeugen) lassen?
Viele Grüße
Pit
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Calc Dokumentvorlage Makro bei Start öffnen

Beitrag von turtle47 »

Hallo Pit,

versuch das mal:

Code: Alles auswählen

Sub SpeichernUnter
Dim speicherDialog as Object
Dim dateiname As String
Dim DialogTyp(0)
Dim arg()
Dim antwort
Dim args1(0) as new com.sun.star.beans.PropertyValue

   kPfad = ThisComponent.URL
   'sPfad = DirectoryNameoutofPath(kPfad, "/") 'Bringt bei mir eine Fehlermeldung

   arg = Array(com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_AUTOEXTENSION)
   speicherDialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
   'xray speicherDialog
   With speicherDialog
        .Initialize(arg())
        .appendFilter("OpenDocument Tabellendokument (.ods)", "*.ods")
        .SetMultiselectionMode(False)
        .setDisplayDirectory(ConvertToURL(sPfad()))
        .SetDefaultName("Rechentrainer.........") 'Hier kannts Du Deinen variablen Dateinamen definieren
        .SetTitle("Vergeben sie einen Namen und speichern sie das Angebot")
        .setcurrentFilter("OpenDocument Tabellendokument (.ods)")
        .SetValue(com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_AUTOEXTENSION, 0, true)
   End With

   antwort = speicherDialog.execute()
   If antwort = 1 Then
      datei = speicherDialog.Files(0)
      Thiscomponent.storeAsUrl(datei, args1())
   End If
End Sub
Bei

Code: Alles auswählen

.SetDefaultName
kannst Du Deinen Dateinamen definieren.

Ich habe Das mit xray herausgefunden. Ist echt ein tolles Tool.
Solltest Du auch mal ausprobieren wenn Du es noch nicht schon benutzt.

Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Calc Dokumentvorlage Makro bei Start öffnen

Beitrag von erikafuchs »

Hallo zusammen,

vielen Dank schonmal!! Ich war gerade mal etwas knapp mit meiner Zeit - werde mich heute aber mal an die Umsetzung machen und gebe dann Bericht.

Viele Grüße
Pit
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Calc Dokumentvorlage Makro bei Start öffnen

Beitrag von erikafuchs »

Ich habe das jetzt alles zusammengebastelt und das geht prima. Ich habe jetzt einfach den Vorschlag von Jürgen übernommen.
Nochmals vielen Dank!
Pit
PS. Was ist xray?
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Calc Dokumentvorlage Makro bei Start öffnen

Beitrag von komma4 »

X - Ray Tool

Author: Bernard Marcelly
This is a tool that allows OOo Basic programmers to display the properties, methods, services and interfaces provided by an object. Values of properties can be displayed, and if the property or interface is an API object, it can also be analysed by X-Ray.

If the SDK is installed, X-Ray can display the relevant page in a web browser.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Karolus
********
Beiträge: 7534
Registriert: Mo, 02.01.2006 19:48

Re: Calc Dokumentvorlage Makro bei Start öffnen

Beitrag von Karolus »

Hallo Peter
Peter.Langer2 hat geschrieben: wie kann ich dem Ereignis "Dokument erzeugen" ein Makro zuweisen?
Wie kann ich ein Makro beim Start ausführen?
1. -->Extras-->Anpassen--'Ereignisse' -- 'Dokument erzeugen'
2. ........................................................-- 'beim Programmstart' oder 'Dokument öffnen'

--die jeweilige Zeile selektieren und über die Schaltfläche 'Makro..' den Pfad einstellen.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten