Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

25 Июнь 2019, 13:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: Как обратиться к другому файлу?  (Прочитано 6136 раз)
0 Пользователей и 1 Гость смотрят эту тему.
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #45895: 12 Март 2018, 10:23 »

     Простите, что долго не отвечал - праздники же были.
     В общем вот код:
Код:
Sub Proverka_documentov
Dim desc, oFind, desk1, oFind1 ,s, s1, a, r, k, r1, k1, b, c, d, e, FindFlag, FindFlag1
a=InputBox("Введите параметр для поиска", "Параметры поиска")
If a="" Then Exit Sub
oSheet=ThisComponent.CurrentController.ActiveSheet
desc=oSheet.createSearchDescriptor()
desc.SearchRegularExpression=false
desc.SearchString=a   'Что найти
desc.SearchWords=false      'Ячейку целиком
oFind=oSheet.findAll(desc)
oDoc1=StarDesktop.LoadComponentFromUrl(convertToURL("C:\Users\Всеволод Апрелев\Documents\Реестры\Именованные\2018.ods"), "_blank", 0, oProps())
FindFlag1=0
For j=0 To oFind.count-1
If Not IsNull(oFind) Then
   FindFlag1=1
   s=oFind.RangeAddresses(j)
   r=s.StartRow
   k=s.StartColumn
   If oSheet.getCellByPosition (k+9, r).String<>1 Then
      If MsgBox ("Проверить наличие оригинала?", 4, "Параметры проверки")=6 Then
         FindFlag=0
         For i=1 To 5
         oSheet1 = oDoc1.Sheets(i)
         desc1=oSheet1.createSearchDescriptor()
         desc1.SearchRegularExpression=false
         desc1.SearchString=a   'Что найти
         desc1.SearchWords=true      'Ячейку целиком
         oFind1=oSheet1.findAll(desc1)
         If Not IsNull(oFind1) Then
            FindFlag=1
            s1=oFind1.RangeAddresses(0)
            r1=s1.StartRow
            k1=s1.StartColumn
               If oSheet1.getCellByPosition (k1+5, r1).String="Восстановлен" Then
                  oSheet.getCellByPosition (k+9, r).String=1
                  oSheet.getCellByPosition (k+10, r).String="-"
                  GoTo SLEDUISCHIY
               Else
                  If MsgBox(oSheet.getCellByPosition (k+10, r).String & " ", 4, "Проверьте комментарий!")=7 Then
                     If oSheet1.getCellByPosition (k1+5, r1).String="" Then
                        If MsgBox("Ввести комментарий?", 4, "Комментарий к отсутствующим документам")=6 Then
                        Komment:
                        e=InputBox("Введите комментарий", "Комментарий к отсутствующим документам")
                           If e="" Then
                              If MsgBox ("Вы уверены?", 4, "Не вводить комментарий?")=7 Then
                                 GoTo Komment
                              Else
                                 GoTo SLEDUISCHIY
                              End If
                           End If
                           oSheet.getCellByPosition (k+10, r).String=e
                        Else
                           GoTo SLEDUISCHIY
                        End If
                     Else   
                        If j=0 Then
                           VSTAVKA:
                           Print oSheet1.getCellByPosition (k1+5, r1).String & " "
                           Komment1:
                           e=InputBox("Введите комментарий", "Комментарий к отсутствующим документам")
                           If e="" Then
                              If MsgBox ("Вы уверены?", 4, "Не вводить комментарий?")=6 Then
                                 GoTo SLEDUISCHIY
                              Else
                                 GoTo Komment1
                              End If
                           End If
                           oSheet.getCellByPosition (k+10, r).String=e 
                        Else
                           If j=1 Then
                              If MsgBox ("Вставить автоматически предыдущий комментарий?", 4, "Продолжить автоматически?")=6 Then
                                 oSheet.getCellByPosition (k+10, r).String=e
                              Else
                                 GoTo VSTAVKA
                              End If
                           Else
                              oSheet.getCellByPosition (k+10, r).String=e
                           End If
                        End If
                     End If
                  End If
               End If
          End If
          next i
          If FindFlag=0 Then
             If j=0 Then
                Komment2:
                e=InputBox("Введите комментарий", "Комментарий к отсутствующим документам")
                If e="" Then
                   If MsgBox ("Вы уверены?", 4, "Не вводить комментарий?")=6 Then
                      GoTo SLEDUISCHIY
                   Else
                      GoTo Komment2
                   End If
                End If
                oSheet.getCellByPosition (k+10, r).String=e
             Else
                If j=1 Then
                   If MsgBox ("Вставить автоматически предыдущий комментарий?", 4, "Продолжить автоматически?")=6 Then
                      oSheet.getCellByPosition (k+10, r).String=e
                   Else
                      GoTo Komment2
                   End If
                Else
                   oSheet.getCellByPosition (k+10, r).String=e
                End If
             End If
          End If
      Else
          If MsgBox(oSheet.getCellByPosition (k+10, r).String & " ", 4, "Проверьте комментарий!")=7 Then
             If j=0 Then
                Komment3:
                e=InputBox("Введите комментарий", "Комментарий к отсутствующим документам")
                If e="" Then
                   If MsgBox ("Вы уверены?", 4, "Не вводить комментарий?")=6 Then
                      GoTo SLEDUISCHIY
                   Else
                      GoTo Komment3
                   End If
                End If
             Else
                If j=1 Then
                   If MsgBox ("Вставить автоматически предыдущий комментарий?", 4, "Продолжить автоматически?")=6 Then
                      oSheet.getCellByPosition (k+10, r).String=e
                   Else
                      GoTo Komment2
                   End If
                Else
                   oSheet.getCellByPosition (k+10, r).String=e
                End If
             End If
          End If
      End If
   End If
End If
SLEDUISCHIY:
Next j
If FindFlag1=0 Then
Print "Документ не найден"
End If
End Sub
Кавычки поставил - теперь ругается на всю строку:
Код:
oDoc1=StarDesktop.LoadComponentFromUrl(convertToURL("C:\Users\Всеволод Апрелев\Documents\Реестры\Именованные\2018.ods"), "_blank", 0,
.
Как исправить? Помогите, пожалуйста.
Записан
Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!