Seite 1 von 1
DDE-Verknüpfungen bei geänderter Ausgangsdatei
Verfasst: So, 15.09.2013 12:57
von nic215
Hallo Forum,
folgendes zu Ausgangslage:
- Benutzt wird OO 4.0.0 auf einem Win7-System
- es gibt eine Calc-ods-Datei und viele Writer-odt-Dateien
Alle Writer Dateien sind über DDE-Verknüpfungen mit der Calc-Datei verknüpft. Um es etwas genauer zu beschreiben: Es werden automatisch Personenkürzel aus Calc in die Writer-Dateien eingefügt. Das klappt auch problemlos.
Nun zum eigentlichen Problem:
Füge ich in der Calc-Datei eine neue Zeile ein, stimmt natürlich der Bezug nicht mehr und zwar bei allen nachfolgenden Zellen. Gibt es eine einfachere Möglichkeit, als manuell jedes Writer-Dokument aufzurufen und jede einzelne Verknüpfung zu ändern
Besten Dank für Eure Hilfe!
Re: DDE-Verknüpfungen bei geänderter Ausgangsdatei
Verfasst: So, 15.09.2013 13:53
von F3K Total
Hi,
nic215 hat geschrieben:gibt es eine einfachere Möglichkeit, als manuell jedes Writer-Dokument aufzurufen und jede einzelne Verknüpfung zu ändern
Nein, es sein denn, du schreibst ein Makro. Das dürfte relativ komplex werden.
nic215 hat geschrieben:Es werden automatisch Personenkürzel aus Calc in die Writer-Dateien eingefügt. Das klappt auch problemlos.
Wieso so kompliziert?
Vermutlich gibt es da bessere Lösungen als die DDE-Verknüpfungen, allerdings müßtest du uns für eine sinnvolle Hilfestellung mehr Informationen oder besser, verfremdete Beispieldokumente hochladen.
Ansonsten bliebe:
Neue Daten in Calc von unten anfügen, damit die alten Bezüge erhalten bleiben.
Gruß R
Re: DDE-Verknüpfungen bei geänderter Ausgangsdatei
Verfasst: So, 15.09.2013 18:17
von nic215
Hallo F3K Total!
Danke für die Antwort. Ich habe mal zwei Dateien mit hochgeladen, die die Problematik verdeutlichen sollen.
Insbesondere bin ich natürlich an "besseren Lösungen", wie Du es nennst, interessiert
Da es sich bei der Calc-Datei quasi um ein Inhaltsverzeichnis handelt, würde die Lösung Daten unten anzuhängen zwar funktionieren, wäre aber etwas verwirrend... trotzdem Danke!
Falls noch irgendwelche Infos fehlen, bitte melden.
Besten Dank!
Gruß
nic215
Re: DDE-Verknüpfungen bei geänderter Ausgangsdatei
Verfasst: So, 15.09.2013 19:02
von F3K Total
Hallo nic215,
nun, die Beispieldokumente zeigen, wie du den Inhalt einer Zelle aus Calc als DDE-Verknüpfung in ein Writer Dokument eingefügt hast.
War soweit klar.
Leider erschließt sich mir nicht, wieso du das machst.
Das solltest Du genauer beschreiben.
Was genau möchtest Du erreichen?
Gruß R
Re: DDE-Verknüpfungen bei geänderter Ausgangsdatei
Verfasst: So, 15.09.2013 19:48
von nic215
Hallo F3K Total!
Warum ich das so mache? Nun, mir ist bisher keine bessere Lösung eingefallen
Ich versuche es kurz zu erklären:
Die Dateien sind das QM-Handbuch unseres Betriebs. In der Calc-Tabelle stehen die einzelnen Prozesse und die Prozessverantwortlichen (und noch einige weitere Angaben).
In den Anfängen des Handbuchs habe ich in jedem Textdokument im Kopf manuell die Prozessverantwortlichen eingetragen. Gab`s dann eine Änderung (wir hatten eine Zeit lang einen regen Personalwechsel, bzw. lange Krankheiten, Schwangerschaft etc.), musste ich jede Datei öffnen (davor den Schreibschutz weg, anschließend wieder rein) und die Änderungen machen. Das war ein heftiger Aufwand! Irgendwann bin ich dann zu der "Verknüpfungslösung" gekommen. Damals noch mit Microsoft Office '97 Professional

. Das hat auch einige Jahre lang gut funktioniert, ging schnell und der TÜV-Auditor war begeistert! Vor ca. 2 Jahren wurde dann von Win XP auf Win7 umgestellt und das war das Aus für MO '97. Für ein neues MO wollte die Geschäftsleitung kein Geld ausgeben (11 PCs) und so sind wir bei OO gelandet. Erst hatte ich ein paar Probleme mit den Verknüpfungen, aber inzwischen geht auch das.
Das "Sahnehäubchen" wäre nun eine Lösung, in der das Programm "merkt", sobald eine Verknüpfung verschoben wird und man quasi die Chance hätte, diese gleich mit abzuändern... aber das ist wahrscheinlich Wunschdenken!
Ich hoffe, nun ist es klarer? Falls nicht, geb ich gerne weiter Auskunft
Gruß
nic215
Re: DDE-Verknüpfungen bei geänderter Ausgangsdatei
Verfasst: So, 15.09.2013 20:19
von F3K Total
Hi,
da hab ich wohl den Mund etwas zu voll genommem. Da das Quelldokument (Daten.ods) gar nicht weiß, das auf es per DDE-Link zugegriffen wird, kann es auch nichts ausrichten.
Was wohl, aber eben komplex, möglich wäre:
Wenn Du im Calc-Dokument die URL's der Writer Dokumente neben der "Verantwortlichen" Zelle stehen hättest, könnte man, nach einer Änderung alle Writer-Dokumente per Makro laden und aktualisieren.
Gruß R
Re: DDE-Verknüpfungen bei geänderter Ausgangsdatei
Verfasst: So, 15.09.2013 23:08
von F3K Total
Hi,
ich habe es probiert, geht.
angenommen:
- In Tabelle1 im Bereich A2:B5 stehen
- in Spalte A die Verantwortlichen (Test, ABC, XYZ ...)
- in Spalte B die URLs zu den Dateien, z.B. C:\Users\<USER>\QM\Dokument1.odt
- Pro Datei gibt es nur einen DDE-Link (soffice1)
Dann kannst du mit Ausführung dieses Makros die DDE-Links in allen Dateien aktualisieren.
Code: Alles auswählen
Sub S_update_dde_links
Dim Args(0) as New com.sun.star.beans.PropertyValue
Args(0).Name = "Hidden"
Args(0).Value = False 'True
osheet = Thiscomponent.sheets.getbyname("Tabelle1")
oRange = osheet.getcellrangebyname("A2:B5")
aFormula = oRange.FormulaArray
for i = 0 to ubound(aFormula)
oDDECell = oRange.getcellbyposition(0,i)
sDDECommandElement = oDDECell.AbsoluteName
oUrlCell = oRange.getcellbyposition(1,i)
sUrl = converttourl(oUrlCell.string)
odocument = stardesktop.loadcomponentFromUrl(surl,"_blank", 0, args())
odocument.TextFieldMasters.getByName("com.sun.star.text.fieldmaster.DDE.soffice1").DDECommandElement = sDDECommandElement
odocument.store
odocument.close -1
next i
msgbox "" + i + " Dokumente bearbeitet"
End Sub
Wenn du die Zeile
in
änderst, passiert alles unsichtbar im Hintergrund.
Das Entfernen eines Schreibschutzes ist bisher noch nicht berücksichtigt.
Gruß R
Re: DDE-Verknüpfungen bei geänderter Ausgangsdatei
Verfasst: Mo, 16.09.2013 07:38
von nic215
Hallo F3K Total!
Danke für den Tipp! Allerdings muss ich zugeben, dass ich mich mit Makros noch nie beschäftigt habe/musste. Das muss ich erstmal "verdauen" und probieren.
Darf ich mich dann bei Dir noch mal melden, falls es nicht klappt?
Würde das Makro prinzipiell auch funktionieren, falls es mehrere Verknüpfungen aus dem Calc-Dokument zum Writer-Dok. gibt? Ich hatte nämlich schon seit längerer Zeit vor, die Versionsnummer und das Änderungsdatum mit in die Calc-Datei zu legen...
Danke nochmals!
Gruß
nic215
Re: DDE-Verknüpfungen bei geänderter Ausgangsdatei
Verfasst: Mo, 16.09.2013 17:43
von F3K Total
Hi,
nic215 hat geschrieben:Würde das Makro prinzipiell auch funktionieren, falls es mehrere Verknüpfungen aus dem Calc-Dokument zum Writer-Dok. gibt?
- Prinzipiell: Ja
- So wie es momentan ist: Nein
Wenn Du in allen Writer-Dokumenten die gleiche Anzahl DDE-Links hast, und sie jeweils auf die gleiche Spalte im Calc-Dokument zugreifen (z.B.: A: Verantwortlicher, B: Version, C:Änderungsdatum, D:URL zur Writer-Datei), und die Daten pro Writer Dokument in einer Zeile stehen, ist es leicht das Makro anzupassen.
Gruß R