гороскоп на сегодня у скорпиона любовный гороскоп совместимости любовный гороскоп на 2017 рак девушка подробнее на этой странице нажмите чтобы увидеть больше ссылка на подробности любовный гороскоп гороскоп совместимости совместимость знаков в любви любовный гороскоп любовный гороскоп гороскоп совместимости парень козерог девушка весы гороскоп совместимость гороскоп на месяц любовный рак гороскоп на след неделю девы любовный гороскоп женщина рыба мужчина весы совместимость гороскоп совместимости он телец она овен совместимость любовный увидеть больше гороскоп дева любовный на сегодня и завтра гороскоп основываясь на этих данных на этой странице гороскоп на совместимость телец и рыбы рак гороскоп весы стрелец совместимость на 2017 год гороскоп ссылка сегодня гороскоп совместимость по гороскопу женщина телец мужчина рак совместимость гороскоп секс гороскоп совместимости читать больше гороскоп любовный на сегодня козерогу гороскоп любовный на завтра для стрельца гороскоп любовный на месяц рыбы женщина совместимость гороскопа лев и овен нажмите для продолжения любовный гороскоп двух львов гороскоп неделю гороскоп стрелец женщина и весы мужчина совместимость в браке гороскоп совместимости весы жен овен муж подробнее на этой странице сексуальный гороскоп близнецы женщин гороскоп совместимости она водолей он телец основываясь на этих данных совместимость по гороскопу близнецы скорпион гороскоп совместимости рак и козерог на 2017 гороскоп козы на 2017 любовный гороскоп на завтра лев любовный женщина одинокая перейти увидеть больше совместимость по гороскопу рыба и дева гороскоп женщины любовный гороскоп скорпиона на 2017 год мужчина гороскоп пифагора совместимости знаков зодиака привожу ссылку любовный гороскоп на рыб сегодня по ссылке гороскоп таблица совместимости по годам сексуальный гороскоп водолея и овна любовный гороскоп на месяц для овнов гороскоп совместимости рыбы женщина и рак мужчина совместимость нажмите чтобы увидеть больше гороскоп совместимости по луне и солнцу вот ссылка гороскоп на совместимость женщина телец любовный гороскоп на месяц весы 2017 гороскоп дева телец совместимость совместимость гороскопов лев скорпион посетить страницу гороскоп совместимости знаков зодиаков таблица фото гороскоп совместимости рыба тигр любовный гороскоп женщина козерог 2017 любовный гороскоп козерог на сегодня женщина любовный гороскоп для девы на сегодня и завтра гороскоп стрелец на завтра женщина любовный составить любовный любовный гороскоп водолей на 2017 гороскоп совместимости по знакам зодиака овен и водолей

Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: час
АААААААААААААААААА

кое что получилося - вот Спасибо статье Osmor

http://hiprog.com/index.php?option=com_content&task=view&id=251661586



Во модуль для работы с OpenomOfficem и его Calckom



Option Explicit
Public OpenOffice As Object    ' сервис менеджер
Public OOO_Desktop As Object   ' рабочий стол
Public OOO_Document As Object  ' документ, книга
Public OOO_Sheet As Object     ' лист
Public OOO_Index_Sheet As Long ' индекс  листа
Public OOO_Range As Object     ' Диапазон ячеек



Public Function FUN_Connect_OOO()
' подключение

On Error GoTo FUN_Connect_OOO_Error
'----------------------------------------------------------------------------------------------------------------------------------------------------------------
        If IsOpenOfficeConnected() Then Exit Function

Set OpenOffice = CreateObject("com.sun.star.ServiceManager")
Set OOO_Desktop = OpenOffice.createInstance("com.sun.star.frame.Desktop") '            Set OOoIntrospection = CreateUnoService("com.sun.star.beans.Introspection")
        
'----------------------------------------------------------------------------------------------------------------------------------------------------------------
On Error GoTo 0
Exit Function
FUN_Connect_OOO_Error:

Set OpenOffice = Nothing

Error_String = Err.Description
Call FUN_IN_TXT(FUN_Patch_File(App.Path, "Error.txt"), Now() & " _модуль " & "OOO_MOD" & " _процедура " & "FUN_Connect_OOO" & " ..ошибка." & Error_String)
'_______END_______END_______END_______END_______END_______END_______END
  
End Function



Function IsOpenOfficeConnected() As Boolean
' проверка подключения может уже подключено
Dim DeskTopbis As Object

On Error GoTo IsOpenOfficeConnected_ERR
IsOpenOfficeConnected = False
        
        If isNullEmpty(OpenOffice) Then Exit Function

            Set DeskTopbis = OpenOffice.createInstance("com.sun.star.frame.Desktop")
            Set DeskTopbis = Nothing
            IsOpenOfficeConnected = True
Exit Function
IsOpenOfficeConnected_ERR:
Set OpenOffice = Nothing

    End Function


Function isNullEmpty(ByVal thisVariant As Object) As Boolean
' проверка на пустоту и на нуль
isNullEmpty = IsEmpty(thisVariant) Or IsNull(thisVariant)
End Function


Public Function FUN_OOO_OPEN_BOOCK(STR_PATCH_DOCS As String)
'Функция открытия книги ' Спасибо Osmor_у, иначе ничего не вышло бы
Dim OpenParams()
' загрузить открыть документ        ("file:///c:/dev/ooo/test.doc", "_blank", 0, arg())
Set OOO_Document = OOO_Desktop.loadComponentFromURL(STR_PATCH_DOCS, "_blank", 0, OpenParams)
End Function


Public Function ConvertToUrl(strFile) As String
'конвертирует путь MS Windows в URL (RFC 1738)
    strFile = Replace(strFile, "\", "/")
'    strFile = Replace(strFile, ":", "|")
    strFile = Replace(strFile, " ", "%20")
    strFile = "file:///" + strFile
    ConvertToUrl = strFile
'"file:///C:/1.odt", "_blank", 0, NoArg)
'("file://localhost/C:\TEMP\Ostatki.xls", "_blank", 0, Массив);
End Function

Public Function FUN_IN_DOCS(MyCol, MyRow, MyText, str_Aligment)
' вставка в ячейку
  Set OOO_Range = OOO_Sheet.getCellByPosition(MyCol, MyRow)
   OOO_Range.ParaAdjust = str_Aligment '3 ' слева2 справа1 центр3

   Select Case TypeName(MyText)
   Case "String"
      If Left(MyText, 1) = "=" Then
         OOO_Range.SetFormula MyText
      Else
         OOO_Range.setString MyText
      End If
   Case "Double", "Integer", "Long", "Currency"
      OOO_Range.SetValue MyText

   End Select



End Function
'
Public Function FUN_Unite(Str_Range, str_Aligment As Long, Str_Merge As Boolean)
'Слияние   объединять
'Str_Merge-True объединить ячейки диапазона
'str_Aligment - слева2 справа1 центр3
'str_Aligment - 0 не использовать
'Str_Merge - False разьединить ячейки диапазона

   Set OOO_Range = OOO_Sheet.getCellRangeByName(Str_Range)
   OOO_Range.Merge (Str_Merge)
If str_Aligment <> 0 Then
   OOO_Range.ParaAdjust = str_Aligment
End If
   
End Function







Public Function FUN_CLEAR_Range(Str_Range As String)
' диапазон на этом листе
Set OOO_Range = OOO_Sheet.getCellRangeByName(Str_Range)
' очистка всех значений в диапазоне
OOO_Range.clearContents (1 Or 2 Or 4) 'FlagsVALUE = 1 FlagsDATETIME = 2 FlagsSTRING = 4

OOO_Range.Merge (False) ' объединить-true  разьединить - False ячейки диапазона
End Function

Public Function FUN_BORDER_POINT(Str_Range As String)
' бордюры ячеек пример "K1:L11" FUN_MakeCellBorderLine
' получаем ссылку и идём рисовать в = FUN_MakeCellBorderLine
' диапазон на этом листе
Set OOO_Range = OOO_Sheet.getCellRangeByName(Str_Range)

Set OOO_Range.LeftBorder = FUN_MakeCellBorderLine(RGB(0, 0, 0), 0, 5, 0)
Set OOO_Range.RightBorder = FUN_MakeCellBorderLine(RGB(0, 0, 0), 0, 5, 0)
Set OOO_Range.TopBorder = FUN_MakeCellBorderLine(RGB(0, 0, 0), 0, 5, 0)
Set OOO_Range.BottomBorder = FUN_MakeCellBorderLine(RGB(0, 0, 0), 0, 5, 0)

End Function


Public Function FUN_BORDER_CLEAR(Str_Range As String)
' бордюры ячеек пример "K1:L11" FUN_MakeCellBorderLine
' получаем ссылку и идём рисовать в = FUN_MakeCellBorderLine
' диапазон на этом листе
Set OOO_Range = OOO_Sheet.getCellRangeByName(Str_Range)

Set OOO_Range.LeftBorder = FUN_MakeCellBorderLine(RGB(0, 0, 0), 0, 0, 0)
Set OOO_Range.RightBorder = FUN_MakeCellBorderLine(RGB(0, 0, 0), 0, 0, 0)
Set OOO_Range.TopBorder = FUN_MakeCellBorderLine(RGB(0, 0, 0), 0, 0, 0)
Set OOO_Range.BottomBorder = FUN_MakeCellBorderLine(RGB(0, 0, 0), 0, 0, 0)

End Function

Public Function FUN_MakeCellBorderLine(nColor, nInnerLineWidth, nOuterLineWidth, nLineDistance) _
            As Object
'Функция  создания объекта BorderLine содержащего информацию о линии рамки
'параметры nColor - цвет рамки
'nInnerLineWidth - толщина внутренней линии
' nOuterLineWidth - - толщина внешней линии
' расстояние между внутренней и внешней линией
  Dim oSM As Object
  Dim oBorderLine As Object
  Set oSM = CreateObject("com.sun.star.ServiceManager")
  Set oBorderLine = oSM.Bridge_GetStruct("com.sun.star.table.BorderLine")
     With oBorderLine
        .Color = nColor
        .InnerLineWidth = nInnerLineWidth
        .OuterLineWidth = nOuterLineWidth
        .LineDistance = nLineDistance
    End With
  Set FUN_MakeCellBorderLine = oBorderLine
End Function


Public Function OOO_IT_IS_SHEET(STR_NAME_SHEET As String) As Boolean
' проверка наличия листа по имени преобразуя имя в индекс OOO_findSheetIndex()
' если такой лист имеется
OOO_IT_IS_SHEET = False
If OOO_findSheetIndex(OOO_Document, STR_NAME_SHEET) <> -1 Then

OOO_IT_IS_SHEET = True
End If

End Function
Function OOO_findSheetIndex(oDoc As Object, sheetName As String) As Integer
'возвращает индекс листа книги переданной в качестве параметра по его имени
    Dim i As Integer
    For i = 0 To OOO_Document.Sheets.Count - 1
       If oDoc.Sheets.getByIndex(i).Name = sheetName Then
            OOO_findSheetIndex = i
            Exit Function
        End If
    Next i
    OOO_findSheetIndex = -1
End Function


Public Function OOO_DELETE_SHEET(STR_NAME_SHEET As String) As Boolean
'удаляем  лист
Call OOO_Document.getSheets.removeByName(STR_NAME_SHEET)
End Function


Public Function FUN_Clear_OOO()
On Error GoTo exit_Function

' очистка переменных OOO


Set OOO_Document = Nothing
Set OOO_Sheet = Nothing
Set OOO_Desktop = Nothing
Set OpenOffice = Nothing
exit_Function:
End Function


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.