• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Экспорт формы в Word?

  • Автор темы Kron
  • Дата начала
K

Kron

Есть табличная форма пытаюсь настроить экспорт в ворд, все переносит, но табличка расплывается за границы листа :p Ума не приложу как быть, редактирование таблицы в ворд как то не канает :(
 
M

morpheus

Для: Kron
у настроить у word'a шаблон - меньше границы поставить?
 
R

Ronchik

Для: Kron
Вы переносите таблицу в Word через буфер обмена.....её лучше формировать либо в готовом шаблоне либо динамически
 
R

Ronchik

Для: Kron
Вы переносите таблицу в Word через буфер обмена.....её лучше формировать либо в готовом шаблоне либо динамически
 
K

Kron

нет не выходит, что то в самой форме :p
 
K

Kron

Алекс, как я понял просто создать шаблон волода под мои запросы и в них уже пусть вормируются данные?
 
K

Kron

Алекс, как я понял просто создать шаблон волода под мои запросы и в них уже пусть вормируются данные?
 
A

allex

Да, создаешь шаблон, инклюдишь его куда-нить в профильный документ, в скрпте прописываешь имена полей Lotus и сопоставляешь их с полями Word и хоть об выгружайся
 
K

Kron

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
' Dim ns As notessession
Dim db As notesdatabase
Dim view As notesview
Dim doc1 As notesdocument
Dim doc2 As notesdocument
Dim dc As notesdocumentcollection
Dim i As Integer
Set doc1= source.document
Set db = doc1.parentdatabase
Set view = db.getview("(view1)")
Set dc = view.GetAllDocumentsByKey(doc1.AgentShortName(0))
' i = 0
j=1
For i = 1 To dc.count
Set doc2 = dc.Getnthdocument(i)
' doc1.ReplaceItemValue("F1_"+cstr(i),)
If doc2.PersonalNotPrintInForm(0)<>"НЕ показывать в карточке обновления" Then
If doc2.PersonalDBaseUpdateUser(0)="Ответственный за пополнение БД" Then
Call doc1.ReplaceItemValue("F0_"+Cstr(j),"+")
End If
If doc2.PersonalAccountUser(0)="Получатель платежных документов" Then
Call doc1.ReplaceItemValue("F1_"+Cstr(j),"$")
End If
If doc2.PersonalKodeksUser(0)="Пользователь ИПС Кодекс" Then
Call doc1.ReplaceItemValue("F2_"+Cstr(j),"K")
End If
Call doc1.ReplaceItemValue("F3_"+Cstr(j),doc2.PersonalAllName(0))
Call doc1.ReplaceItemValue("F4_"+Cstr(j),doc2.PersonalDolg(0))
Call doc1.ReplaceItemValue("F5_"+Cstr(j),doc2.PersonalWorkPhone(0))
Call doc1.ReplaceItemValue("F6_"+Cstr(j),doc2.PersonalWorkRoom(0))
If doc2.PersonalBDate(0)<>"" Then
Call doc1.ReplaceItemValue("F7_"+Cstr(j),"*")
End If
If doc2.PersonalClubNumber(0)<>"" Then
Call doc1.ReplaceItemValue("F8_"+Cstr(j),Cstr(doc2.PersonalClubNumber(0)))
End If
j = j + 1
End If
Next
' последние обновления
Set view = db.GetView("(view3)")
Set dc = view.GetAllDocumentsByKey(doc1.AgentShortName(0))
i = 1
Set doc2= dc.GetLastDocument
While i<3 And Not (doc2 Is Nothing)
If doc2.UpdateContactCondition(0)<>"Выдано" Then
Call doc1.ReplaceItemValue("F10_1_"+Cstr(i),doc2.UpdateContactMonth(0))
Call doc1.ReplaceItemValue("F10_2_"+Cstr(i),doc2.UpdateContactWeek(0))
Call doc1.ReplaceItemValue("F10_3_"+Cstr(i),doc2.UpdateContactManager(0))
Call doc1.ReplaceItemValue("F10_4_"+Cstr(i),Format(doc2.UpdateContactFactDate(0),"dd.mm.yyyy"))
' Call doc1.ReplaceItemValue("F10_5_"+Cstr(i),doc2.ColumnValues(7))
Call doc1.ReplaceItemValue("F10_6_"+Cstr(i),Format(doc2.UpdateContactFactTime(0),"hh:mm"))
i = i+1
End If
Set doc2 = dc.GetPrevDocument(doc2)
Wend
' последние контакты
Set view = db.GetView("(view2)")
i = 1
Set doc2=view.GetDocumentByKey(doc1.AgentShortName(0))
While i<=2 And Not (doc2 Is Nothing)
Call doc1.ReplaceItemValue("F11_1_"+Cstr(i),Format(doc2.ContactExecutorFactDate(0),"dd.mm.yyyy"))
Call doc1.ReplaceItemValue("F11_2_"+Cstr(i),Format(doc2.ContactExecutorFactTime(0),"hh:mm"))
Call doc1.ReplaceItemValue("F11_3_"+Cstr(i),Format(doc2.ContactExecutorPlanDate(0),"dd.mm.yyyy"))
Call doc1.ReplaceItemValue("F11_4_"+Cstr(i),doc2.ContactDescription(0))
Call doc1.ReplaceItemValue("F11_5_"+Cstr(i),Format(doc2.ContactDate(0),"dd.mm.yyyy"))
Call doc1.ReplaceItemValue("F11_6_"+Cstr(i),doc2.ContactRezult(0))
i = i+1
Set doc2 = view.GetNextDocument(doc2)
If Not doc2 Is Nothing Then
If doc2.ContactAgent(0)<>doc1.AgentShortName(0) Then
Set doc2 = Nothing
End If
End If
Wend
End Sub


И как я понимаю, данный код тоже можно так сделать минуя создание формы?
 
A

allex

Впринципе моно.
Только ты определи поля, значения которыe ты хочешь экспортировать в word.
Я так понимаю что вот эти (F11_*_) поля тебе нужно экспортировать в word
 
A

allex

Ну вот и совокупи свой код с моим примером
 
K

Kron

как понял код мой выполняется а потом уже идет выполнение твоего кода, с приравниванием полей шаблона?
 
D

Domino6

выставить свойства таблицы не по размеру окна а указанные к примеру 18 см
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!