Seite 1 von 1

gelöst: Calc Dokumentvorlage Makro bei Start öffnen

Verfasst: Do, 13.09.2007 19:06
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

Re: Calc Dokumentvorlage Makro bei Start öffnen

Verfasst: Fr, 14.09.2007 18:03
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

Re: Calc Dokumentvorlage Makro bei Start öffnen

Verfasst: Sa, 15.09.2007 12:29
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

Re: Calc Dokumentvorlage Makro bei Start öffnen

Verfasst: Mo, 17.09.2007 15:36
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

Re: Calc Dokumentvorlage Makro bei Start öffnen

Verfasst: Sa, 22.09.2007 17:10
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?

Re: Calc Dokumentvorlage Makro bei Start öffnen

Verfasst: Sa, 22.09.2007 17:27
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.

Re: Calc Dokumentvorlage Makro bei Start öffnen

Verfasst: Do, 07.02.2008 09:32
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