macro : datenbank auswählen
Moderator: Moderatoren
macro : datenbank auswählen
Hallo,
ich hoffe ich bin hier richtig.
Ich habe ein Serienbrief erstellt. Als Datenquelle dafür, dient eine textdatei die ich zu .odb umgewandelt habe, damit ich sie als Datenbank nutzen kann.
Jetzt möchte ich, dass wenn ich mein Dokumennt(Writer) öffne, es automatisch meine Datenbankdatei sucht und öffnet. Wie kann ich das mit hilfe von macro machen? Könnte mir jemand bitte ein Macro dafür schreiben?
Später will ich noch machen, dass wenn ich mein Dokumment öffne, es automatisch mein Serienbrief drückt, aber erstmal möchte ich das machen, was ich oben geschrieben habe.
Danke im Voraus.
ich hoffe ich bin hier richtig.
Ich habe ein Serienbrief erstellt. Als Datenquelle dafür, dient eine textdatei die ich zu .odb umgewandelt habe, damit ich sie als Datenbank nutzen kann.
Jetzt möchte ich, dass wenn ich mein Dokumennt(Writer) öffne, es automatisch meine Datenbankdatei sucht und öffnet. Wie kann ich das mit hilfe von macro machen? Könnte mir jemand bitte ein Macro dafür schreiben?
Später will ich noch machen, dass wenn ich mein Dokumment öffne, es automatisch mein Serienbrief drückt, aber erstmal möchte ich das machen, was ich oben geschrieben habe.
Danke im Voraus.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: macro : datenbank auswählen
Für was soll das gut sein. Wenn in einem Serienbrief Seriendruckfelder einer bestimmten Datenbank definiert sind, hast Du automatisch Zugriff auf die Datenbank wenn Du den Serienbrief mittels Seriendruck ausdruckst. Ein Macro ist dazu nicht erforderlich.swerflash hat geschrieben:Hallo,
ich hoffe ich bin hier richtig.
Ich habe ein Serienbrief erstellt. Als Datenquelle dafür, dient eine textdatei die ich zu .odb umgewandelt habe, damit ich sie als Datenbank nutzen kann.
Jetzt möchte ich, dass wenn ich mein Dokumennt(Writer) öffne, es automatisch meine Datenbankdatei sucht und öffnet. Wie kann ich das mit hilfe von macro machen? Könnte mir jemand bitte ein Macro dafür schreiben?
Später will ich noch machen, dass wenn ich mein Dokumment öffne, es automatisch mein Serienbrief drückt, aber erstmal möchte ich das machen, was ich oben geschrieben habe.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Hallo,
wenn ich jetzt mein Serienbrief jemandem gebe, damit er das drückt, dann wird er Writer(mein Dokumment) starten und dann muss er die Datenbak manuel suchen und angeben wo sie sich befindet, und das möchte ich mit hilfe von einem Macro lösen. Also dass er mit dem Writer das Dokument startet und nichts mehr machen muss.
wenn ich jetzt mein Serienbrief jemandem gebe, damit er das drückt, dann wird er Writer(mein Dokumment) starten und dann muss er die Datenbak manuel suchen und angeben wo sie sich befindet, und das möchte ich mit hilfe von einem Macro lösen. Also dass er mit dem Writer das Dokument startet und nichts mehr machen muss.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Wenn Pfad und Name der Datenbank/Textfile mit Deiner Datenbank identisch sind, muss er auch nichts machen.swerflash hat geschrieben:Hallo,
wenn ich jetzt mein Serienbrief jemandem gebe, damit er das drückt, dann wird er Writer(mein Dokumment) starten und dann muss er die Datenbak manuel suchen und angeben wo sie sich befindet, und das möchte ich mit hilfe von einem Macro lösen. Also dass er mit dem Writer das Dokument startet und nichts mehr machen muss.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Hallo,
leider nicht ganz.
Ich habe z.B. 2 Serienbriefe(unterschiedliche), jeder ist in eigenem Ordner mit einer Datenbank gespeichert:
z.B. Ordner1/Serienbrief1/Layout1+DB1.odb
Ordner2/Serienbrief2/Layout2+DB2.odb
Wenn ich jetzt Layout2 aufmache und dann F4 drücke, dann sehe ich die DB1.obd von anderem Serienbrief. Meine DB, die ich für diesen Serienbrief brauche, öffnet er nicht. Und ich möchte ihm per Macro sagen, dass er in den Ordner /Serienbrief2 gehen soll und die DB2.odb laden soll.
leider nicht ganz.
Ich habe z.B. 2 Serienbriefe(unterschiedliche), jeder ist in eigenem Ordner mit einer Datenbank gespeichert:
z.B. Ordner1/Serienbrief1/Layout1+DB1.odb
Ordner2/Serienbrief2/Layout2+DB2.odb
Wenn ich jetzt Layout2 aufmache und dann F4 drücke, dann sehe ich die DB1.obd von anderem Serienbrief. Meine DB, die ich für diesen Serienbrief brauche, öffnet er nicht. Und ich möchte ihm per Macro sagen, dass er in den Ordner /Serienbrief2 gehen soll und die DB2.odb laden soll.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo swerflash,
grundsätzlich werden alle angemeldeten Datenbanken in OO angezeigt wenn Du die Funktionstaste F4 drückst. Mit dem Öffnen eines Serienbriefs hat dies nichts zu tun.
Wenn die von Dir genannte Datenbank nicht bei OO angemeldet ist, kann sie auch nicht benutzt werden.
grundsätzlich werden alle angemeldeten Datenbanken in OO angezeigt wenn Du die Funktionstaste F4 drückst. Mit dem Öffnen eines Serienbriefs hat dies nichts zu tun.
Wenn die von Dir genannte Datenbank nicht bei OO angemeldet ist, kann sie auch nicht benutzt werden.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Ja, und das möchte ich mit hilfe von Macros lösen, damit anderer nicht auf Extras->Optionen->Datenbank->Neu gehen musst, damit das automatisch geschieht.
Wenn ich jemandem mein Serienbrief gebe, der sich mit OO nicht auskennt und zum ersten mal das installiert hat, und mein Layout startet, dann wird er die DB.odb nicht finden, da sie bei ihm noch nicht angemeldet ist für diesen Layout(wenn er sofort versucht das Dokument zu drücken) und er die DB selber suchen muss.
Wenn ich jemandem mein Serienbrief gebe, der sich mit OO nicht auskennt und zum ersten mal das installiert hat, und mein Layout startet, dann wird er die DB.odb nicht finden, da sie bei ihm noch nicht angemeldet ist für diesen Layout(wenn er sofort versucht das Dokument zu drücken) und er die DB selber suchen muss.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo swerflash,swerflash hat geschrieben:Ja, und das möchte ich mit hilfe von Macros lösen, damit anderer nicht auf Extras->Optionen->Datenbank->Neu gehen musst, damit das automatisch geschieht.
Wenn ich jemandem mein Serienbrief gebe, der sich mit OO nicht auskennt und zum ersten mal das installiert hat, und mein Layout startet, dann wird er die DB.odb nicht finden, da sie bei ihm noch nicht angemeldet ist für diesen Layout(wenn er sofort versucht das Dokument zu drücken) und er die DB selber suchen muss.
ob die Anmeldung einer Datenbank automatisiert werden kann weiß nicht, da bin ich in Basic nicht ausreichend fit, ich kann Dir aber soviel mitteilen, dass Du die Textfile, die Du mittels Base als Datenquelle in eine .odb Datei eingebunden hast, neben Serienbrief und .odb-Datei mitgeben musst. Weicht der Pfad der Textfile von dem Pfad ab, der in der .odb-Datei definiert ist, dann kann die .odb-Datei nicht benutzt werden.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Hallo,
mein Textfile befindet sich auch in dem Ordner, aber es passiert das was ich oben geschrieben habe. Oder habe ich vieleicht was falsch gemacht?
Ich habe eine Textdatei erstellt, dann die mit OO Base geöffnet und importiert und daraus eine .odb Datei erstellt. Dann habe ich mit Writer ein Layout erstellt und die Felder von meiner .odb in die Mitte gezogen, wie ich sie brauche und das Dokument gespeichert.
Muss ich noch etwas dazu machen?
PS: könntest du mir ein Macro für Drucken schreiben, damit wenn das Dokument geöffnet wird, er Str+P ausführt(Drücken).
Danke.
mein Textfile befindet sich auch in dem Ordner, aber es passiert das was ich oben geschrieben habe. Oder habe ich vieleicht was falsch gemacht?
Ich habe eine Textdatei erstellt, dann die mit OO Base geöffnet und importiert und daraus eine .odb Datei erstellt. Dann habe ich mit Writer ein Layout erstellt und die Felder von meiner .odb in die Mitte gezogen, wie ich sie brauche und das Dokument gespeichert.
Muss ich noch etwas dazu machen?
PS: könntest du mir ein Macro für Drucken schreiben, damit wenn das Dokument geöffnet wird, er Str+P ausführt(Drücken).
Danke.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo swerflash,
das Ganze klingt sehr mysteriös.
1. Mit Base können keine Textdateien geöffnet werden.
2. Eine Importfunktion ist ebenso nicht vorgesehen.
Welche Datenquelle nun tatsächlich vorliegt ist noch unklarer als zuvor. Das gewünschte Makro kannst Du Dir mittels Extras/Markros/Makro aufzeichnen selbst erstellen. Dafür wird keine fremde Hilfe benötigt.
das Ganze klingt sehr mysteriös.
1. Mit Base können keine Textdateien geöffnet werden.
2. Eine Importfunktion ist ebenso nicht vorgesehen.
Welche Datenquelle nun tatsächlich vorliegt ist noch unklarer als zuvor. Das gewünschte Makro kannst Du Dir mittels Extras/Markros/Makro aufzeichnen selbst erstellen. Dafür wird keine fremde Hilfe benötigt.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Das habe ich versucht, der zeichnet mir nur das auf, was ich in dem Dokument schreibe. Aber wenn ich jetz auf Menupunkte mit der Maus draufgehe und was auswähle, z.B. Drücken... dann zeichnet er das nicht auf. Tastenkombination von Str+P hat er auch nicht aufgezeichnet.
EDIT: wenn ich O Base aufmache, kann ich unten "Verbindung zu einer Datenbank Datei herstellen" auswählen, dort kann ich Text auswählen, so kann ich meine Textdatei öffnen und später die als .odb speichern.
EDIT: wenn ich O Base aufmache, kann ich unten "Verbindung zu einer Datenbank Datei herstellen" auswählen, dort kann ich Text auswählen, so kann ich meine Textdatei öffnen und später die als .odb speichern.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo swerflash,
Die Textdateien, es können dabei eine oder mehrer sein, können von nun an als Datenquellen dienen.
Nochmals, ich habe keine Datenbank erstellt, sondern lediglich eine Verbindung die zur Serienbriefschreibung genutzt werden kann.
Unter OO 2.0.2 kann ich das nicht nachvollziehen. Bei einer Makroaufzeichnung erhalte ich z. B. folgenden Code:Das habe ich versucht, der zeichnet mir nur das auf, was ich in dem Dokument schreibe. Aber wenn ich jetz auf Menupunkte mit der Maus draufgehe und was auswähle, z.B. Drücken... dann zeichnet er das nicht auf. Tastenkombination von Str+P hat er auch nicht aufgezeichnet.
Code: Alles auswählen
sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())
end sub
Deine Schritte sind nicht nachvollziehbar. Wenn ich Textfiles als Datenquellen anmelde gehe ich folgendermaßen vor:wenn ich O Base aufmache, kann ich unten "Verbindung zu einer Datenbank Datei herstellen" auswählen, dort kann ich Text auswählen, so kann ich meine Textdatei öffnen und später die als .odb speichern.
- 1. Menüoption Datei/Neu/Datenbank
2. Im Datenbank-Assistenten die Option Verbindung zu einen bestehenden Datenbank herstellen aktivieren.
3. Aus der Auswahlbox Text wählen.
4. Dateityp und Zeileformat festlegen.
5. Pfad zu den Textdateien eintragen, bzw. suchen
Die Textdateien, es können dabei eine oder mehrer sein, können von nun an als Datenquellen dienen.
Nochmals, ich habe keine Datenbank erstellt, sondern lediglich eine Verbindung die zur Serienbriefschreibung genutzt werden kann.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Ok scheint zu gehen, er findet die richtige Datenbank. Wird das auch gehen, wenn sich jemand OO zum ersten mal installiert hat? Also wenn er mein Dokument öffnet, kann er dann sofort drücken? Ist die Datenquelle in meinem Dokumment, was ich gerade geöffnet habe angemeldet, oder ist sie in dem Programm OpenOffice angemeldet, was bei mir auf dem Rechner installiert ist?
Danke.
Danke.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo swerflash,swerflash hat geschrieben:Ok scheint zu gehen, er findet die richtige Datenbank. Wird das auch gehen, wenn sich jemand OO zum ersten mal installiert hat? Also wenn er mein Dokument öffnet, kann er dann sofort drücken? Ist die Datenquelle in meinem Dokumment, was ich gerade geöffnet habe angemeldet, oder ist sie in dem Programm OpenOffice angemeldet, was bei mir auf dem Rechner installiert ist?
um den Serienbrief eines Dritten drucken zu können muss der Anwender folgendes haben:
- 1. Dieselbe Verbindungsbeschreibung zur Datenquelle (.odb-Datei).
2. Dieselbe Datenquelle.
3. Wird die Datenquelle vom Dritten zur Verfügung gestellt, muss diese in das Verzeichnis kopiert werden, in dem die Datenquelle bei der Erstellung der Verbindungsbeschreibung (.odb-Datei) war.
Handelt es sich jedoch um eine mit OO erstellte HSQLDB-Datenbank ist diese in der ?.odb-Datei enthalten.
Wenn Du also eine externe Datenquelle hast, musst neben dem Seriendokument die .odb-Datei und die Datenquelle (Textfile, dBase, MySgl etc.) zur Verfügung stellen. Der Empfänger muss die .odb-Datei einmalig über Extras/Optionen.../OpenOffice.org Base/Datenbanken OO hinzufügen.
Ändern sich die Daten der Datenquelle (Textfile, dBase, MySgl etc.) muss nur diese ausgetauscht werden.
Verkürzt ausgedruckt, wenn Du Deinem Nachbar nur das Seriendokument zu Verfügung stellst, kann der ohne Datenquelle und .odb-Datei nichts damit anfangen.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1