Seite 1 von 1

Verknüpfungen programmgesteuert über VB6 ändern

Verfasst: Mi, 12.09.2007 14:05
von drogon
Hallo,
ich stehe vor der Aufgabe eine VB6 Anwendung die Exceltabellen erstellt auf OOo Calc umzustellen.
Dabei bin ich auf ein paar Probleme gestoßen, an denen ich hängen bleibe.

1. Autom. Updaten von Verknüpfungen:

unter VB mit Excel sieht das so aus

alinks = oExl.ActiveWorkbook.LinkSources(xlExcelLinks)

If Not IsEmpty(alinks) Then
For i = 1 To UBound(alinks)
oExl.ActiveWorkbook.ChangeLink alinks(i), _
cNewLinkSource, xlExcelLinks
Next i
endif

2. Zugriff auf ein Textfeld, Button in einer Tabelle

vb code:

With oExl.ActiveWorkbook.Sheets("Daten importieren").OLEObjects("TextBox1")
.object.Activate
.object.Text = cPfad
End With

'AnzeigeButton klicken
With oExl.ActiveWorkbook.Sheets("Daten importieren").OLEObjects("CommandButton5")
.object.Value = True
End With

Es währe ganztoll wenn mir jemand mit ein paar Codebeispiele für OOo weiterhelfen könnte.
Herzlichen Dank schon jetzt.

MfG
drogon :?

Re: Verknüpfungen programmgesteuert über VB6 ändern

Verfasst: Mi, 12.09.2007 14:35
von komma4
Nutze doch bitte die Suchfuntion, beide Beispiele sind schon gepostet worden; Danke!

Re: Verknüpfungen programmgesteuert über VB6 ändern

Verfasst: Do, 13.09.2007 13:51
von komma4
ENTSCHULDIGUNG!

Ich habe dann auch nochmal gesucht und hier nichts gefunden - aber hier.
Was beim Writer mit ThisComponent.updateLinks funktioniert, ist mit Calc so einfach nicht zu machen.

Zum Zugriff auf Textfelder und Schaltflächen:
diese "liegen" bei OOo auf einer DrawPage

Code: Alles auswählen

oTabSheet = ThisComponent.Sheets.getByName( "Tabelle1" ) 

oDP = oTabSheet.DrawPage

print "Anzahl der Drawpages auf dem Tabellenblatt: " & oDP.getCount()
for i = 0 to oDP.getCount() - 1
   print oDP.getByIndex( i ).getName()
next i
Bei der Untersuchung der Objekte und deren Eigenschaften und Methoden hilft Dir sicherlich Xray weiter, auch Andrew hat ein paar nette Beispiele (das Lesen seines Dokuments hat viele meiner OOo-Basic-Knoten gelöst).

Viel Erfolg!

Re: Verknüpfungen programmgesteuert über VB6 ändern

Verfasst: Mi, 19.09.2007 13:56
von drogon
So gehts.

Code: Alles auswählen

Set oEnum = oDoc.SheetLinks.createEnumeration

While oEnum.hasMoreElements

   Set oLink = oEnum.NextElement
   cNewLinkSourceForOO = cOO.Convertin(OOPath, cNewLinkSource)
   oLink.URL = cNewLinkSourceForOO

Wend