Lotus - Анилиз документа во вложении

Тема в разделе "Lotus - Программирование", создана пользователем SOFTOBZOR.ru, 22 мар 2006.

Статус темы:
Закрыта.
  1. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Добрый день Лотусисты!

    Интересную задачу я поставил сам себе для самообразования.
    Есть к примеру Документ Word.doc - строгой формы.
    Я этот документ прикрепляю к документу Лотус.
    Может ли лотус анализировать сожержание этого документа, то есть проверять имеються ли те или иные записи.
    Пример документа я прикрепил к этому топику.

    У кого есть желание, давайте пообсуждаем как это реализуеться на практике.
     

    Вложения:

    • lotus.doc
      Размер файла:
      24,5 КБ
      Просмотров:
      136
  2. Гость

    Можно сделать таблицу, а потом используя обращения к ней, разбирать текст.
    Вот нашла примерчик в нете:

    Код (Text):
    Следующее выражение вернет текст в первой ячейке третьей строки первой таблицы в активном документе Word (код на VBA):
    strText = ActiveDocument.Tables(1).Rows(3).Cells(1).Range.Text
    Когда найдете нужную строку в таблице, используйте ее семейство Cells для обращения к ячейкам в этой строке.
     
  3. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Юлия спасибо, будем пробовать.
    Только вот беда, почемуто перестала работать функция импорта экспорта в доке, раньше работала. Посмотрите профессиональным взглядом, где ошибка:

    Код (Text):
    @Command([EditGotoField];"attach");
    @Command( [FileImport] )
    Код (Text):
    @Command([EditGotoField];"attach");
    @Command([EditInsertFileAttachment])
    Создано 2 HostPota и поле attach

    Почему то при нажатии на HostPot ругеться что "Неудаеться выполнить указаную команду"
     
  4. Гость

    Может док не находится в режиме редактирования? :)
    Попробуй поставь, чтобы кнопки скрывались, когда док открыт в режиме просмотра.
     
  5. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Разобрался - поле attach толжно быть RTF
     
  6. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Странно не работает

    В доке, создал поле
     
  7. Гость

    Это код на VBA и работает в Word.
    Для Lotus его еще нужно переделать.

    Во-первых нужно получить объект ворда из приаттаченного поля.

    Dim emo As NotesEmbeddedObject
    Set emo=doc.GetAttachment("Имя дока.doc")

    Потом нужно как-то отрыть документ для редактирования.
    Можно, например, его сохранить во временный файл.

    Set wdApp = CreateObject("Word.Application")
    Dim spath As String
    spath="c:\Имя дока.doc"
    Call emo.ExtractFile(spath)
    wdApp.Visible=True
    wdApp.Document.open(spath)

    Потом делаем переменную для доступа к данным и с ее помощью рассматриваем и меняем док.

    О! нашла ссылочку по теме:
    http://www.notesnet.ru/notesnet.nsf/note/F...3256D56005D420D
     
  8. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Ага! с этим немножко понятно - спосибо многократно!.

    А как получить значение определенного элемента в документе Word?
    Например это документ с таблицей, вот я хочу проверить есть ли данные в ячейке 1.1 и получить эти данные.

    Далее я планирую сделать вью, для теста, то есть что-то в роде того:
    Все доки
    - Доки с пустым значением
    - Доки со значением
     
  9. Гость

    что-то типа этого:

    set strText = wdApp.Document.Tables(1).Rows(1).Cells(1).Range.Text
     
  10. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Не желает работать

    Код (Text):
    Sub Click(Source As Button)
    Dim emo As NotesEmbeddedObject
    Set emo=doc.GetAttachment("lotus.doc")
    Set wdApp = CreateObject("Word.Application")
    Dim spath As String
    spath="c:\lotus.doc"
    Call emo.ExtractFile(spath)
    wdApp.Visible=True
    wdApp.Document.open(spath)
    Set strText = wdApp.Document.Tables(1).Rows(1).Cells(1).Range.Text
    End Sub
    Может у меня что-то с полем attach? упустил чти нибудь?
     
  11. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Ругаеться так же "Variadn Does not Contain an object"
     
  12. Гость

    doc не определен.
    Скрипт не знает к какому ты именно doc обращаешься.

    + обшибка: надо все-таки не Document, а Documents :)
     
  13. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Меня еще смущает такой момент
    Допустим есть 2 поля Вложения.
    Что-тогда будет? Ведь в функции явно не указано, из какого поля получить данные.
    И можно ли вместо lotus.doc использовать нечто переменное ("$FILE") ?
     
  14. Гость

    Должна быть переменная типа стринг. См. help.

    Вот такой код у меня работает и возвращает значение.

    Код (Text):
    Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument   

    'Ссылка на документ
    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document

    Dim emo As NotesEmbeddedObject
    Set emo=doc.GetAttachment("lotus.doc")
    Set wdApp = CreateObject("Word.Application")
    Dim spath As String
    spath="c:\lotus.doc"
    Call emo.ExtractFile(spath)
    wdApp.Visible=True
    wdApp.Documents.Open(spath)
    If wdApp.ActiveDocument.Tables.Count >= 1 Then
    strText = wdApp.ActiveDocument.Tables(1).Rows(1).Cells(1).Range.Text
    Msgbox strText
    End If
    End Sub
     
  15. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Юлия спасибо, если бы не вы... нифига бы не понял.
    А реально програмно закрыть открытый док?
     
  16. Гость

    Call wdApp.Quit

    Можно и wdApp.Visible=True не делать, чтобы не смущать народ.
     
  17. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    В этом случаи Приложение висит списке задачь, и ручками убивать нужно.
    Вот вариант

    Код (Text):
    Call wdApp.Application.Quit
    Теперь мне понятно, за день разобрался :D
    Будем изучать этот вопрос дальше.
    Например как мне ипользовать то что вернеться в strText для ввода этого значения уже в лотус документ с кажим в поле [xxx] а не в MsgBox

    Ну не буду надоедать, "поковыряюсь" сам... а уж если совсем в тупик зайду.
    Буду Юлия опять вам "надоедать", а если серьезно, огромное Вам человеческое спасибо!, Просто уважаю людей которые с охотой деляться своими знаниями. Сам такой но в MySQL / PHP ;)
     
  18. Гость

    А я MySQL / PHP знаю совсем чуть-чуть (пару сайтов сделала), но хочу поразбираться. :D
    А чего ты в Lotus с ПХП перешел? Я вот думаю куда-нить смениться, а то на Лотусе не могу вакансию найти подходящую. Мало лотусников по Минску требуется. ;)
     
  19. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Ну PHP и MySQL это увлечение с раннего детства, наделал кучу сайтов для знакомых да и для себя. Тут ни какого обязательста, сам себе на уме.. ковырялся, ковырялся ну теперь как говориться нет непосильных задач.

    Вот лотус другое дело, вакансия появилась, и есть желание заниматься именно этой работой, при чем желание "жгучие" (хорошая комманда, дружный коллектив). Пока изучаю для себя, то есть до практики еще месяцев 5, вот к тому времени охото иметь представление что к чему.

    У нас будет БОСС-Референт, как бы написаная (готовая) система, но я по натуре такой хочу знать все... как это "фунциклирует".
     
  20. Гость

    Да, разбираться в Лотусе интересно. Много возможностей и нюансов.
    Еще бы задач найти и место, где можно программить в тихой, спокойной обстановке... :D
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей