jureko Opublikowano 21 Maja 2009 Zgłoś Opublikowano 21 Maja 2009 witam, próbuję połączyc się przez OLE z Openoffice do zwcad. Trochę mam z tym problemów niestety - chciałbym otworzyć każdy plik z katalogu i pobrać z niego potrzebne informacje. Połączenie mi się udało, jakieś próbne wyswietlanie danych z zwcad działa. Natomiast otwieranie plików i robienie w nich czegokolwiek to trochę trudna sprawa dla mnie. Pomógłby mi ktoś z tym tematem? Łączę się tak: Sub zwConnect 'połaczenie z zwcad Dim OleService1 As Object Dim zwApp, zwdwg As Object OleService1 = createUnoService("com.sun.star.bridge.OleObjectFactory") zwApp = OleService1.CreateInstance("Zwcad.application") zwApp.Visible = False MsgBox zwApp.FullName 'to dziala zwdwg = zwApp.Documents zwApp.Documents.Open("c:\ole.dwg") 'zwdwg.Close 'zwApp.Quit no a w pliku chce zrobić coś w stylu: Sub totalnumber() 'define Dim total As Double total = 0 'Create a set Dim ssetObj As ZwcadSelectionSet Set ssetObj = Thisdocument.SelectionSets.Add("TEST_SSET") 'use Filters to get text Dim Ftype(2) As Integer Dim Fdata(2) As Variant Ftype(0) = 0 Fdata(0) = "text" Ftype(1) = 8 Fdata(1) = "teksty" Ftype(2) = 62 Fdata(2) = 4 Dim mode As ZcSelectionSetType mode = zcSelectionSetAll ssetObj.Select zcSelectionSetAll, , , Ftype, Fdata 'Determine the text whether to be digital For i = 0 To ssetObj.Count - 1 If IsNumeric(ssetObj.Item(i).TextString) Then total = total + ssetObj.Item(i).TextString Activedocument.Utility.Prompt ssetObj.Item(i).TextString & vbCrLf End If Next i ' delete set ssetObj.Delete ' output the sum Activedocument.Utility.Prompt "suma " & total End Sub Pewnei w MSoffice z jego VBasic byłoby mi łatwiej ale akurat używam OOffice... -- pozdrawiam
Rekomendowane odpowiedzi