1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Экспорт В Ворд

Тема в разделе "Lotus - Программирование", создана пользователем Eugen, 20 апр 2012.

  1. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    В общем стоит задача, при нажатии кнопки в форме все заполненные поля перенести в ms word.
    По этой теме нашел вот такой материал.
    Возник следующий вопрос - возможно ли хранить шаблон документа не на локальной машине, а где то в лотусовой базе? То есть чтобы шаблон подгружался откуда-нибудь с сервера.
    Кто знает, подскажите?

    Заранее спасибо.
     
  2. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    сделайте в БД спец.документ, в котором лежит шаблон и выгружайте при необходимости.
     
  3. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    Можно поподробней? Честно говоря не представляю как это сделать.
     
  4. nvyush

    nvyush Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Создаёте в БД документ с рт-полем, в него вкладываете шаблон, по нажатию кнопки выкладываете шаблон во временную папку. По выкладывани вложений на диск см. справку по NotesRichTextItem, NotesEmbeddedObject
     
  5. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.361
    Симпатии:
    336
    если работать в МСО КОМ, рекомендую также "убивать" вордовые процесы, код здесь выкладывал, а то, порой, не закрытый ворд (кот. комой открыли) залочит процесс
     
  6. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    Да, про это я как раз забыл спросить. Видел, что процессы множатся, но не знаю как их убивать программно.
     
  7. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.361
    Симпатии:
    336
    либо в коде делать wordobj.Quit
    либо глобально убивать все ворды
    Код:
    Sub CloseMSobj(execName As String)
    On Error Goto ErrH
    Dim objs As Variant
    Dim strSQL As String
    Dim strWMI As String
    strWMI = "winmgmts:"
    strSQL = "Select * From Win32_Process "
    strSQL = strSQL & {where Name = '} & execName &{'}
    Set objs = GetObject(strWMI).ExecQuery(strSQL)
    If Not objs Is Nothing Then
    Forall obj In objs
    obj.Terminate
    End Forall
    End If
    Quit:
    Exit Sub
    ErrH:
    RaiseError
    Resume Quit
    End Sub
    Sub CloseMSWord
    Print "closing " & WORDEXEC
    Call CloseMSobj(WORDEXEC)
    End Sub
     
  8. Мыш

    Мыш Well-Known Member
    Lotus team

    Репутация:
    1
    Регистрация:
    12 фев 2008
    Сообщения:
    1.073
    Симпатии:
    11
    Можно еще в About Document аттач положить (если он не используется по прямому назначению).
     
  9. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    А как называется поле в ворде, куда оно писаться будет? И как его обозначить?
     
  10. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    Так и не понял, как создавать эти поля - тупо копирую их из шаблона в примере. А кто-нибудь знает, как программно поставить флажок? Присвоить ему значение True или "1" не прокатывает.
     
  11. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    Если у кого то возникнет необходимость программно проставить влажок в ворде: worddoc.FormFields("Имя закладки").checkbox.Default = True .

    Сейчас заявка генерится по шаблону, который лежит в отдельной форме. Шаблон в формате 97-2003, *.dot.

    На днях появился странный глюк - у пользователей с 2003 офисом происходит наложение таблиц и все становится нечитабельно. Причем не понимаю из-за чего это может происходить. Открываю чистый шаблон 2003м офисом - все ровно, когда открывается по шаблону документ с данными - все съезжает. Может кто сталкивался с подобным? В чем может быть дело?
     
  12. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    А причина не в этом ли - "Так и не понял, как создавать эти поля - тупо копирую их из шаблона в примере." ?
    Ну, лично я эти поля не использовала, копипастить не захотела, да и нет 2003го, чтоб проверить, попробовала создавать через "макросы - макросы команд word" - InsertFormField. Так вот эти поля закладки используют. А пару лет назад у меня была задача по работе с закладками, когда менялась печатная форма (что-то добавилось, часть информации переместили-скопировали, часть информации удалили). Тогда проявился какой-то глюк именно в 2003м ворде - у документа были проблемы с отображением шрифтов после программного заполнения закладок (при печати и отображении на экране), после сохранения документа вроде все нормализовывалось. Уже не помню точно, что конкретно помогло, спасибо lmike - подсказал идеи (вот тема подмена шрифта в отчете из Lotus в Ms Word), вроде как проблемы были с закладками и/или стилями в самом документе-шаблоне, помучилась немного с форматированием - часть текста абзацев с закладками пересоздала, меняла формат (размер и имя шрифта) и/или сами закладки удалила и создала заново, программно проверяла имена и расположение у Bookmarks (ну, их много было, часть лишних закладок удалила), вроде примерно тогда же установила на 2003 апдейт для чтения документов 2007го.
     
  13. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    И снова проблемы с экспортом. Возникает ошибка : Microsoft word: Свойство "Valid" предназначено только для чтения.
    Кто знает, что это за свойство и где его можно снять?
    Ошибка выскакивает на одной из закладок в вордовом шаблоне. Я с ней уже чего только не делал, но все рано не понял из-за чего это.
     
  14. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.361
    Симпатии:
    336
    ваще-то здесь форум про домино нотус...
    у вас уже вопросы перешли на тему МСО - туда и пишите (там может подскажут - как бороться с этим глюкалом)
    или переходите на др. технологии создания шаблонов и генерации выходных документов
    Сакральные знания по МСО меняются от версии к версии и несовместимы между собой

    Разваливающееся форматирование - тоже нормальное явление для МСО, при смене версий (невзирая на визги апологетов об обратном ;) ), да и просто при смене элементов форматирования в доке...
     
Загрузка...

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