ich komme bei folgendem Problem nicht weiter und wäre dankbar wenn mir jemand helfen könnte.
Ich möchte über ein Makro einen Datensatz exportieren.
Der Exportpfad ist aber immer ein anderer und kann daher nicht im Makro fest hinterlegt werden.
Ich möchte nun das im Makro auf die Zelle A1 im Tabellenblatt mit dem Namen "Test" zugreift und sich von dort den Pfad holt.
Normalerweise kein Problem da ich bei vielen Makros diese Option für Datenimporte benutze aber beim export komme ich ins stocken.
Hier mein Makro
Code: Alles auswählen
sub test
Dim sPath, fullPath, iVal, iResult As String
Dim r as Integer
Dim oDocument, thisDoc, oSheet, ocell1, oVal, oSrcRange, oDstRange as Object
CRBP_L = 31 ' CellRangeByPosition Links Spalte
CRBP_O = 2 ' CellRangeByPosition Oben Zeile
CRBP_R = 31 ' CellRangeByPosition Rechts Spalte
CRBP_U = 10012 ' CellRangeByPosition Unten Zeile 801
CRBP_EL = 5
CRBP_EO = 0
CRBP_ER = 5
CRBP_EU = 10010
sPath = ("c:\Dokumente und Einstellungen\user\Desktop\Temp.ods")
r = 0 'Startwert Zeile setzen
sFileName = Dir$(sPath & getPathSeparator() & "*", 0)
' Do
fullPath = converttourl(sPath & sFileName)
sFileName = Dir$
'folgend Quelldokument im Hintergrund öffnen
dim myFileProp(0) as New com.sun.star.beans.PropertyValue
myFileProp(0).name = "Hidden"
myFileProp(0).value = true
oDocument = StarDesktop.loadComponentFromURL(fullPath, "_blank", 0, myFileProp())
'Werte aus Quelldokument lesen
oSheet = oDocument.sheets(0) 'erstes Tabellenblatt des Quelldokumentes
oSrcRange = osheet.getCellRangeByPosition(CRBP_L,CRBP_O,CRBP_R,CRBP_U) 'Spalte A , Zeile 1, Spalte N, Zeile 801
oDataArray = oSrcRange.getDataArray
oDocument.close(true)
url=converttourl("c:\Dokumente und Einstellungen\user\Desktop\AS.ods")
dim myFileProp1(0) as New com.sun.star.beans.PropertyValue
myFileProp1(0).name= "Hidden"
myFileProp1(0).value= true
oDocument = StarDesktop.loadComponentFromURL(url, "_blank", 0, myFileProp() )
oSheet = oDocument.sheets(0)
oDstRange = osheet.getCellRangeByPosition(CRBP_EL,CRBP_EO,CRBP_ER,CRBP_EU) 'Spalte A , Zeile 1, Spalte N, Zeile 801
oDstRange.setDataArray(oDataArray)
oDocument.store()
oDocument.close(true)
end sub
sPath = ("c:\Dokumente und Einstellungen\user\Desktop\Temp.ods") wobei ich glaube hier funktionierte es so. Aber wie ist es mit der Zeile:
url=converttourl("c:\Dokumente und Einstellungen\user\Desktop\AS.ods")
Normalerweise benutze ich die Zeile
Code: Alles auswählen
ThisComponent.getsheets().getByName( "Test").getCellRangeByName( "a1" ).getString() & getpathseparator
Bestimmt ist es nur ein kleiner Eingabefehler oder ein richtig gesetztes Zeichen.
Kann mir bitte eine helfen ???
Ach ja und allen noch ein frohes neues Jahr.
Vielen Dank
Norman