Seite 1 von 1
WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Do, 17.01.2013 19:43
von KingEisbaer
Hallo,
Habe das Problem das folgendes Makro nicht funktioniert:
Code: Alles auswählen
sub main
sFile = "E:\Arbeitsplan GH Test.odt" ' Windows
sURL = ConvertToURL(sFile)
oDoc = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, Array())
End sub
Das Write-Dokument wird richtig aus einen Calc-Dokument geöffnet mit dem Makro. Nun aber das Problem:
Das Write-Dokument hat Verknüpfungen, die mit dem öffnen des Macro nicht aktualisiert werden? Wieso werden die nicht aktualisiert.
Die Verknüpfungen beziehen sich auf das Calc-Dokument, woraus das Write-Dokument mit dem Macro geöffnet wird.
Außerdem soll das Write-Dokument im Hintergrund geöffnet werden, aktualisiert werden und unter einem neuen Namen abgespeichert werden. Der Name zum Abspeichern soll aus zwei Verknüpfungen des Write-Dokument zusammengesetzt werden.
Kann mir jemand beim Anpassen des Makros helfen.
Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Do, 17.01.2013 22:11
von F3K Total
Versuche mal dies:
Code: Alles auswählen
sub S_open_linked_Writer
thisComponent.store
dim args(0) as new com.sun.star.beans.PropertyValue
args(0).Name = "UpdateDocMode"
args(0).Value = 1
sFile = "E:\Arbeitsplan GH Test.odt" ' Windows
sURL = ConvertToURL(sFile)
oDoc = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, args)
End sub
GR
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Do, 17.01.2013 23:33
von KingEisbaer
Danke funktioniert
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Fr, 18.01.2013 11:51
von KingEisbaer
Hallo nun habe ich noch folgendes Problem:
Code: Alles auswählen
REM ***** BASIC *****
sub S_open_linked_Writer
thisComponent.store
dim args(0) as new com.sun.star.beans.PropertyValue
args(0).Name = "UpdateDocMode"
args(0).Value = 1
sFile = "E:\Arbeitsplan Vorlage.odt" ' Windows
sURL = ConvertToURL(sFile)
oDoc = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, args)
'Speichern
dim dummy()
datei="E:\TEST.odt"
dateiurl=converttourl(datei)
odoc=thisComponent
odoc.storeasurl(dateiurl,dummy())
rem oder
rem odoc.storetourl(dateiurl,dummy())
End Sub
Dieses Makro wird aus einer Calc-Tabelle ausgeführt und öffnet ein Write-Dokument, was Verknüpfungen zu der Calc-Tabelle hat.
Dies funktioniert auch soweit, aber das Makro mit dem speichern, speichert das Calc-Dokument. Aber es soll das Write-Dokument unter einen anderen Namen speichern.
Die beiden Funktionen sollen aber eben nur mit einmal ausführen des Makro erledigt werden. Dabei soll aber der Name zum Speichern des Write.Dokument aus dem Write-Dokument geholt werden.
Hoffe es kann mir einer helfen beim anpassen des Makros.
Gruß
KingEisbaer
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Fr, 18.01.2013 12:17
von Karolus
Hallo
Überschreibe die Variable 'odoc' eben
nicht mit:
Karolus
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Fr, 18.01.2013 13:45
von KingEisbaer
Okay danke und was muss dort hin um das andere dokument zu speicher? Oder bleibt das leer.
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Fr, 18.01.2013 15:03
von Karolus
Hallo
Ausprobieren bitte!
Karolus
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Sa, 19.01.2013 23:57
von KingEisbaer
Konnte jetzt erst testen, aber hat geklappt.
den einfach komplett weglassen.
Kann mir eventuell noch einer helfen, wie man den Code
Code: Alles auswählen
REM ***** BASIC *****
sub S_open_linked_Writer
thisComponent.store
dim args(0) as new com.sun.star.beans.PropertyValue
args(0).Name = "UpdateDocMode"
args(0).Value = 1
sFile = "E:\Arbeitsplan Vorlage.odt" ' Windows
sURL = ConvertToURL(sFile)
oDoc = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, args)
'Speichern
dim dummy()
datei="E:\TEST.odt"
dateiurl=converttourl(datei)
odoc.storeasurl(dateiurl,dummy())
rem oder
rem odoc.storetourl(dateiurl,dummy())
End Sub
anpassen kann, damit teile des Dateinamen direkt aus dem Dokument geholt und abspeichert werden können. Es handelt sich um Dokumente die wochenweise erstellt werden und unter dem Wochendatum abgespeichert werden sollen. Das Wochendatum steht im Dokument. Das Wochendatum soll aber dem Dokumenten-Namen hinzugefügt werden.
Beispiel: Wochenarbeitsplan xx.xx.xxx bis xx.xx.xxx.
Das x steht für das jeweilige aktuelle Datum, was in dem Dokument steht. Sprich, das x verändert sich immer im Datum, nur das Wort Wochenarbeitsplan bleibst bestehen.
Es handelt sich um OpenOffice Write-Dokument.
Danke
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: So, 20.01.2013 02:21
von balu
Hallo KingEisbaer,
ich fasse mich kurz.
Dieses Makro wird aus einer Calc-Tabelle ausgeführt
teile des Dateinamen direkt aus dem Dokument geholt und abspeichert werden können
Wenn Du schon in Calc bist, dann mach dich mit diesen Punkten vertraut:
7.1.1 Wie bekomme ich Zugriff zu einer Zelle?
7.1.10 Wie kann man Werte einer Zelle lesen und schreiben?
Dann dürfte das jetzt auch zu verstehen sein.
Code: Alles auswählen
Dim sFileName1 as String
Dim sDatum as String
sFileName1 = "Wochenarbeitsplan_"
sDatum = DateValue(thisComponent.Sheets(0).getCellRangeByName("B7").String)
Print sFileName1 & sDatum
DateValue siehe OnlineHilfe (F1).
Print ist nur als Bildschirmausgabenbeispiel gedacht, um dir zu zeigen wie verkettet wird. Du kannst dann Print durch einen Variablennamen für den Dateinamen ersetzen.
Ich hoffe das es dir hilft.
Gruß
balu
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: So, 20.01.2013 11:53
von KingEisbaer
Hallo,
leider verstehe ich das nicht wie ich beide Codes miteinander verbinde???
der ist zum abspeichern des Dokuments
Code: Alles auswählen
'Speichern
dim dummy()
datei="E:\TEST.odt"
dateiurl=converttourl(datei)
odoc.storeasurl(dateiurl,dummy())
rem oder
rem odoc.storetourl(dateiurl,dummy())
und der soll dafür sein, damit der Dateiname aus dem Dokument genommen wird.
Code: Alles auswählen
Dim sFileName1 as String
Dim sDatum as String
sFileName1 = "Wochenarbeitsplan_"
sDatum = DateValue(thisComponent.Sheets(0).getCellRangeByName("B7").String)
Print sFileName1 & sDatum
aber wenn ich sie untereinander schreibe passiert nichts. Er speichert immer noch mit den alten Dateinamen??
Leider ist es mein erstes mal, das ich ein makro selber schreibe.
Danke
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Di, 22.01.2013 11:44
von balu
Hallo KingEisbaer,
Leider ist es mein erstes mal, das ich ein makro selber schreibe.
Na dann wolln ma dir a bisserl helfen.
Auch wenn ich dir nur 2 Links gepostet hatte, so solltest Du dir die Seite, die die beiden links enthalten, mal etwas genauer anschauen. Oder um es dir einfacher zu machen:
Guckst Du hier
Die Seiten von Dannenhöfer sind wirklich zu empfehlen. Nur musst Du dich halt damit auch befassen. Und was
storeasurl und
storetourl betrifft, so schau mal dort z.B. bei "6. Speichern/Öffnen/Drucken von Dateien" rein.
Nun zu den Code. Der müsste jetzt theoretisch wie folgt aussehen.
Code: Alles auswählen
Dim sFileName1 as String
Dim sDatum as String
Dim sNeuerName as String
dim dummy()
sFileName1 = "Wochenarbeitsplan_"
sDatum = DateValue(thisComponent.Sheets(0).getCellRangeByName("B7").String)
sNeuerName = "E:\" & sFileName1 & sDatum & ".odt"
print sNeuerName
dateiurl = converttourl(sNeuerName)
print dateiurl
odoc.storeAsURL(dateiurl,dummy())
Theoretisch deshalb, weil Du ihn noch an deine Bedürfnisse anpassen musst. Sprich: In welchem Tabellenblatt befindet sich die Zelle mit dem Datum?
Und die beiden Print Anweisungen dienen nur zur Kontrolle, die kannst und darfst Du natürlich löschen.
Kommst Du nun weiter?
Gruß
balu
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Di, 22.01.2013 11:46
von juetho
(Das Folgende war meine Antwort zu seiner neuen, unpassenden Frage Makros anpssen.)
KingEisbaer hat geschrieben:Das Makro soll das Write-Dokument unter dem Namen "Wochenarbeitsplan" + Datum (was aus dem Calc-Dokument geholt wird) neu abgespeichert werden.
Das funktioniert leider nicht.
Immer diese unnötigen Nachfragen. Was genau funktioniert nicht, und woran erkennst du das?
* Wird keine Datei gespeichert?
* Wird der falsche Dateiname gewählt?
* Oder das falsche Dateiformat?
* Oder der falsche Dateiinhalt?
* Gibt es eine Fehlermeldung? Wenn ja: welche und bei welcher Zeile?
* Und vorsichtshalber gleich noch: Welches Programm, welche Version, welches Betriebssystem + Version?
Nach dem neuen Dateinamen fehlt ein Speichern-Befehl. Das ist hoffentlich nicht der eigentliche Fehler, sondern hängt nur mit deinen Versuchen zusammen.
Jürgen
Re: WRITER: Verknüpfungen zu CALC beim Öffnen aktualisieren
Verfasst: Fr, 25.01.2013 22:21
von KingEisbaer