"Verknüpfung zu externen Daten" Massenabfertigung.

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: "Verknüpfung zu externen Daten" Massenabfertigung.

Re: "Verknüpfung zu externen Daten" Massenabfertigung.

von balu » Di, 10.03.2009 00:59

Hallo tunix,

ja holla die Waldfeee :D
Da wollt ich grad zu bette gehn, als ich deine antwort noch mitbekommen habe. Dafür schon mal ein recht herzliches Dankeschön :D
Ich hab das eben nur mal kurz überflogen, und bin jetzt schon ganz schön erstaunt was Du da mir präsentierst :o . Da hab ich ja erst mal was zu stukatieren, was ich aber mit freude machen werde :wink:. Und natürlich werd ich mich melden, wenn ich irgendwo nicht weiterkomme.



Guts nächtle
balu

Re: "Verknüpfung zu externen Daten" Massenabfertigung.

von tunix_xl » Di, 10.03.2009 00:44

hi Balu
ein wenig
Code zum einlesen und als Anregung:

Code: Alles auswählen

Dim oDoc       As Object  
Dim AllSheets  As Object
Dim oSheet     As Object  ' Daten Tabelle
Dim oSheetWork As Object  ' Arbeisblatt zum Zwischenlagern Download
Dim oCell      As Object  
Dim oBereich   As Object

Dim sLink1     As String
Dim sLink2     As String  
Dim sURL       As String

Dim Zeile As Integer

oDoc = ThisComponent
oSheet = oDoc.getSheets().getByName("DeineZielTabelle")
oSheetWork = oDoc.getSheets().getByName("work") 
  
sLink1 = "http://www.deinLink_unveränderlicher_teil"
sLink2 = oSheet.getCellByPosition(0,Zeile).getString() '' DeinLink veränderlicher Teil einlesen
sUrl = ""

Zeile = 0

 '' Tabelle work aktiv
oCell = oSheetWork.getCellByPosition(0,0) 
oDoc.getCurrentController().select(oCell)

Do

'' Link zusammen setzen
sURL = sLink1 + sLink2 

'' Hilfstabelle leeren
oSheetWork.clearContents(255)    
'' Webquery    
InsertExternalData(sURL) 

'' hier muss der Code zum kopieren der Daten von Hilfstabelle "work" 
'' nach Blatt wo du sie hinhaben möchtest hin

Zeile = Zeile + 1 
sLink2 = oSheet.getCellByPosition(0, Zeile).getString() 
 
Loop While sLink2 <> "" 

End Sub

REM ------------------------------------------------------------  
Sub InsertExternalData(sURL$)
REM ------------------------------------------------------------
Dim oDisp      As Object  '' Object für DispatchHelper
Dim oFrame     As Object  '' Object Frame für Dispatch  
oDisp = createUnoService("com.sun.star.frame.DispatchHelper") 
oFrame = oDoc.getCurrentController().getFrame() 
Dim oArgs(2) as new com.sun.star.beans.PropertyValue
oArgs(0).Name = "FileName"
oArgs(0).Value = sURL
oArgs(1).Name = "FilterName"
oArgs(1).Value = "calc_HTML_WebQuery"
oArgs(2).Name = "Source"

''' dieser Wert muss angepasst werden
oArgs(2).Value = "HTML_9"                  

oDisp.executeDispatch(oFrame , ".uno:InsertExternalDataSource", "", 0, oArgs())
End Sub
Viel Spass beim "reinlesen". Ist kein fertiges Makro, sondern nur ein Denkanstoss für den Anfang.
Wenn du dazu Fragen hast, helf ich dir gerne weiter
Gruss
t.

"Verknüpfung zu externen Daten" Massenabfertigung.

von balu » Mo, 09.03.2009 22:25

Hallo liebe Gemeinde,

verzeiht meinen Betreff, aber mir fiel nichts besseres ein.

Ich hat wohl schon die Sufu benutzt, aber nicht wirklich das passende gefunden.

Es geht mir darum, wie ich das Verknüpfen zu externen Daten automatisieren kann. Denn ich möchte von einer WWW-Seite verschiedene Unterseiten auf diesen Weg in Calc einlesen.

Mal ein Fantasiebeispiel.
w w w.beispiel.de ist die Hauptseite, aber uninteressant.
w w w.beispiel.de/Verzeichnis1/
w w w.beispiel.de/Verzeichnis2/
w w w.beispiel.de/Verzeichnis3/
das sind die, die ich verknüpfen will. Und im "Externe Daten"-Fenster, bei "Verfügbare Tabellen/Bereiche" sind es immer die gleichen Tabellen, um die es geht, beispielsweise "HTML_1". Also das einzige was sich ändert, sind die Unterseitennamen.

Ich hatte mir das so gedacht, dass ich eine Tabelle habe wo die ganzen Seiten in einer Spalte aufgelistet sind, und in einer anderen Zelle steht der Tabellenname. Nun soll ein Makro dahergehen und anhand dieser angaben die Verknüpfungen erstellen. Quasi genau so, als wenn ich das jedesmal von Hand erledigen würde.

Ich weiss das da noch ein paar Fragen eurerseits deswegen kommen werden, wie z.B. für wieviele Seiten und alles in ein Blatt, aber ich möchte erst mal wissen ob das überhaupt machbar ist. Oder ob ich einen anderen Weg gehen müsste. Ich hatte auch schon mal versucht das ganze mit =DDE() zu realisieren, aber das funktioniert nicht.


Ich freue mich über jede antwort, und bedanke mich schon mal recht herzlich für eure Bemühungen :D



Gruß
balu

Nach oben