Verknüpfungen programmgesteuert über VB6 ändern

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

drogon
Beiträge: 5
Registriert: Mi, 29.08.2007 09:53

Verknüpfungen programmgesteuert über VB6 ändern

Beitrag 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 :?
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Verknüpfungen programmgesteuert über VB6 ändern

Beitrag von komma4 »

Nutze doch bitte die Suchfuntion, beide Beispiele sind schon gepostet worden; Danke!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Verknüpfungen programmgesteuert über VB6 ändern

Beitrag 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!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
drogon
Beiträge: 5
Registriert: Mi, 29.08.2007 09:53

Re: Verknüpfungen programmgesteuert über VB6 ändern

Beitrag 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
Antworten