Hallo Cajamo,
dies ist ein kompiliertes Programm. Wenn du den source Code haben willst So sind hier ein paar ausschnitte, vielleicht kommst du damit weiter:
'Connect to OO
Sub ConnectOpenOffice()
If IsOpenOfficeConnected() Then Exit Sub
Try
OpenOffice = CreateObject("com.sun.star.ServiceManager")
Catch
OpenOffice = Nothing
End Try
If isNullEmpty(OpenOffice) Then
Err.Raise(vbObjectError + OOoErrorN, "OpenOffice", OOo_connectKO)
Else
StarDesktop = CreateUnoService("com.sun.star.frame.Desktop")
OOoIntrospection = CreateUnoService("com.sun.star.beans.Introspection")
OOoDisp = CreateUnoService("com.sun.star.frame.DispatchHelper")
End If
End Sub
Sub Expression_NX()
Dim myDoc As Object, firstSheet As Object
Dim n As Integer = 0
myDoc = StarDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, dummyArray)
firstSheet = myDoc.Sheets.getByIndex(0)
firstSheet.getCellRangeByName("A1").String = "Expressions"
firstSheet.getCellRangeByName("G1").String = "Attributes"
firstSheet.getCellRangeByName("A2").String = "Number"
firstSheet.getCellRangeByName("B2").String = "Name"
firstSheet.getCellRangeByName("C2").String = "Type"
firstSheet.getCellRangeByName("D2").String = "Value"
firstSheet.getCellRangeByName("E2").String = "Equation"
Dim s As Session = Session.GetSession()
Dim lw As ListingWindow = s.ListingWindow
Dim wP As Part = s.Parts.Work
Dim cnt As Integer = 1
Dim exprs As ExpressionCollection = wP.Expressions
'lw.WriteLine("------ Expressions in Work Part ------")
'lw.WriteLine("Number".PadLeft(6) & "Name".PadLeft(12) & "Type".PadLeft(8) & "Value".ToString.PadLeft(16) & "Equation".PadLeft(40))
For Each nx_expr As Expression In exprs
cnt += 1
If nx_expr.Type = "Number" Then
firstSheet.getCellByPosition(0, cnt).String = cnt.ToString
firstSheet.getCellByPosition(1, cnt).String = nx_expr.Name
firstSheet.getCellByPosition(2, cnt).String = nx_expr.Type
firstSheet.getCellByPosition(3, cnt).String = nx_expr.Value.ToString
firstSheet.getCellByPosition(4, cnt).String = nx_expr.Equation
'lw.WriteLine(cnt.ToString.PadLeft(6) & nx_expr.Name.PadLeft(12) & nx_expr.Type.PadLeft(8) & nx_expr.Value.ToString.PadLeft(16) & nx_expr.Equation.PadLeft(40))
Else
firstSheet.getCellByPosition(0, cnt).String = cnt.ToString
firstSheet.getCellByPosition(1, cnt).String = nx_expr.Name
firstSheet.getCellByPosition(2, cnt).String = nx_expr.Type
firstSheet.getCellByPosition(3, cnt).String = nx_expr.StringValue
firstSheet.getCellByPosition(4, cnt).String = ""
'lw.WriteLine(cnt.ToString.PadLeft(6) & nx_expr.Name.PadLeft(12) & nx_expr.Type.PadLeft(8) & nx_expr.StringValue.PadLeft(16))
End If
Next nx_expr
cnt = 1
For Each attr_info As NXObject.AttributeInformation In wP.GetAttributeTitlesByType(NXObject.AttributeType.String)
cnt += 1
's.ListingWindow.WriteLine(attr_info.Title & " = " & wP.GetStringAttribute(attr_info.Title))
firstSheet.getCellByPosition(6, cnt).String = attr_info.Title
firstSheet.getCellByPosition(7, cnt).String = wP.GetStringAttribute(attr_info.Title)
Next
' Randomize()
'For n = 1 To 15
' firstSheet.getCellByPosition(0, n).String = "Row" & (n + 1)
' firstSheet.getCellByPosition(1, n).Value = Rnd() * 1000.0
'Next
'myDoc.close(True)
End Sub
------------------
Gruß
Michael
have you tried turning it off and on again
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP