Aus einem Writerdokument in ein Calcdokument schreiben, wie?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Aus einem Writerdokument in ein Calcdokument schreiben, wie?

Re: Aus einem Writerdokument in ein Calcdokument schreiben, wie?

von wega » Sa, 04.09.2010 20:52

Hallo Jürgen,

danke für diese Anregung.

mit Gruß
Werner

Re: Aus einem Writerdokument in ein Calcdokument schreiben, wie?

von turtle47 » Sa, 04.09.2010 20:03

Hallo Werner,
wega hat geschrieben:Das dumme ist nur, daß ich bei meiner Strategie beide Dokumente nebeneinander im Zugriff habe.
Das ist doch kein Problem.

Schau Dir folgenden Code mal an der lauffähig ist:

Code: Alles auswählen

Sub Main

Dim mArgs()
Dim oDoc, oCalcDoc, oSheet, mycell As Object
	oDoc = ThisComponent 'Das ist das Writerdokument
	'Hole die Texte aus dem Writerdokument und schreibe sie in ein Array
	
	oCalcDoc = StarDesktop.loadComponentFromURL ("private:factory/scalc","_blank", 0, mArgs())
	oSheet = oCalcDoc.Sheets(0)
	
	
   'Mach  hier noch was Du willst
   '...........   
   
   'und dann das Sheet aus dem Array füllen
   
   'hier mal ein Beispielarray 
   Inhalt = Array("Text 1", "Text 2" , "Text 3")
   for i = 0 to uBound(Inhalt)
   mycell = oSheet.getCellByPosition(0,i +1)
   mycell.string = Inhalt(i)
   next i
End Sub

Re: Aus einem Writerdokument in ein Calcdokument schreiben, wie?

von wega » Sa, 04.09.2010 19:41

Hallo Jürgen,

danke für Deine Bestätigung.
Das dumme ist nur, daß ich bei meiner Strategie beide Dokumente nebeneinander im Zugriff habe.
Das Makro hängt am Writerdokument, öffnet ein Blanko-Calcdokument und soll nun Werte, die mit dem
writeranhängendem Makro ermittelte Inhalte ins Calcdokument schieben.
Wenn ich aber immer wieder den Load-Befehl absetze, dann öffne ich für jeden Übertrag ein neues Calcdokument.

Eine Lösung wäre:

a) zuerst ein Calc-dokument erstellen
b) dieses mit einem Namen wegzuspeichern
c) dieses, jetzt benannte Calcdokument bei jedem Datenübertrag zu öffnen,
d) den aktuellen nächsten freien Zellenplatz zu bestimmen,
c) den Inhalt dort abzulegen,
e) das Calcdokument wieder schließen,
f) wieder bei c) einspringen und den beschriebenen Vorgang so lange wiederholen, bis alle Werte weggeschrieben sind.

-> keine elegante und schöne Vorgehensweise!!

Mal gucken, wie ich aus dieser Nummer rauskomme.

Wenn einer eine anregung hat, ich bin für alles offen.

mit freundlichem G'ruß
Werner

Re: Aus einem Writerdokument in ein Calcdokument schreiben, wie?

von turtle47 » Sa, 04.09.2010 19:19

Hi,
wega hat geschrieben:funktioniert nicht, da das Dokument, also "thisComponet" bestimmt das Writerdokument und nicht das Calcdokument ist.
Genau so ist es.
wega hat geschrieben: Wie mache ich also zum Zeitpunkt des Zellenbeschreibenwollens das Calcdokumnet zum aktiven (aktuellen) Dokument?

Code: Alles auswählen

'....
	oCalcDoc = StarDesktop.loadComponentFromURL ("private:factory/scalc","_blank", 0, mArgs())
	oSheet = oCalcDoc.Sheets(0)
	'Die Zählung fängt dabei bei 0 an A1 ist also 0,0
	mycell = oSheet.getCellByPosition(i,0)
	mycell.string = Inhalt
'........
Viel Erfolg.

Jürgen

Re: Aus einem Writerdokument in ein Calcdokument schreiben, wie?

von wega » Sa, 04.09.2010 18:56

Hallo Jürgen,

mit dem nachfolgenden Code

Code: Alles auswählen

'Eine neue Datei anlegen
Sub Datei_anlegen
	Dim mArgs()
	Dim oSheet As Object
	oDocument = StarDesktop.loadComponentFromURL ("private:factory/scalc","_blank", 0, mArgs())
	oSelect = oDocument.getCurrentSelection()
	oSheet = oDocument.Sheets(0)
	ShowDirs
'Über den Parameter "private:factory/...." wird die Art des Dokumentes festgelegt.
'private:factory/swriter = Textdokument
'private:factory/scalc = Tabelle
'private:factory/sdraw = Zeichnung
'private:factory/simpress = Präsentation
'private:factory/smath = Formel
end sub
lege ich parallel zum Writerdokument das Calcdokument an.
Das öffnet sich auch und ich kann es auch von Hand anwählen.
Nur das Hineinschreiben aus dem Makro klappt nicht.

mit freundlichem Gruß
Werner

Re: Aus einem Writerdokument in ein Calcdokument schreiben, wie?

von turtle47 » Sa, 04.09.2010 18:50

Hi,

zeige mal den Code, mit dem du Das Calc-Doc öffnest.


Gruß
Jürgen

Aus einem Writerdokument in ein Calcdokument schreiben, wie?

von wega » Sa, 04.09.2010 18:43

Hallo zusammen,

ich habe ein Makro gekoppelt an einem Writerdokument laufen.
Dieses Kakro soll jetzt Werte in ein, von diesem Makro geöffnetes Calcdokument schreiben.
Das vom Makro geöffnete Calcdokument ist noch jungfräulich, hat keinen Namen und auch noch keine Inhalte.
Wie muß ich die Celle ansprechen, um einen Textstring da hinein zu schreiben.

Mein Ansatz:

Code: Alles auswählen

	oDocument = thisComponent
	oSheet = oDocument.Sheets(0)
	'Die Zählung fängt dabei bei 0 an A1 ist also 0,0
	mycell = oSheet.getCellByPosition(i,0)
	mycell.string = Inhalt
funktioniert nicht, da das Dokument, also "thisComponet" bestimmt das Writerdokument und nicht das Calcdokument ist.

Wie mache ich also zum Zeitpunkt des Zellenbeschreibenwollens das Calcdokumnet zum aktiven (aktuellen) Dokument?

mit freundlichem Gruß
Werner

Nach oben