Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Ноября 20, 2017, 18:10 по Москве
Начало Помощь Поиск Войти Регистрация
Новости: Не ленись, тренируйся! Telegram - t.me/screensquid

+  Break-people
|-+  Бубнилка
| |-+  Трибуна Joe1000
| | |-+  Лотусоведия
« предыдущая тема следующая тема »
Страниц: 1 [2] Печать
Автор Тема: Лотусоведия  (Прочитано 12424 раз)
Joe1000

Сообщений: 20

У моей девушки, длинные ноги и большие глаза

« Ответ #15 : Июня 08, 2011, 16:33 по Москве »

Как отправить письмо ? Lotus script

Цитировать
...
Set memo= New NotesDocument( db )
      memo.Form="Memo"
REM Это можно не писать. Все равно будет видно, от кого письмо
      memo.Principal = "Король Lotus"
REM Кому отправляем
      SendTo$="Joe L Cocker/Lotus"
      memo.SendTo = SendTo$
REM Тема письма
      memo.Subject = "Когда будет новый хит?"

REM Текст письма      
      Set memo_body = New NotesRichTextItem( memo, "Body" )
      memo_body.AppendText("Как ты там? Напиши")   
REM Добавим Enter
      memo_body.addnewline(1)
REM И ещё немного
      memo_body.AppendText("Я сочинил новую песню!")
      memo_body.addnewline(1)
      memo_body.AppendText("Послушай здесь ")
REM Можно добавить ссылку на любой документ.
REM Разумеется doc должен быть определен где-то там, выше
      Call memo_body.AppendDocLink(doc,"Моя новая песня")
REM Отправить письмо      
      Call memo.Send( False )
...

Как-то так
« Последнее редактирование: Июля 13, 2011, 16:57 по Москве от Joe1000 » Записан
Joe1000

Сообщений: 20

У моей девушки, длинные ноги и большие глаза

« Ответ #16 : Июня 22, 2011, 21:00 по Москве »

Автоматический нумератор
...
If(uidoc.IsNewDoc)Then
      Set v=db.GetView("NumeratorView")
      
      Set docX=v.GetFirstDocument
      num$=docx.filedNum(0)         
      docx.fieldNum=Cstr(Cint(num$)+1)
      Call   docx.Save(False,False)
      doc.fieldNumber=num$
   End If

...

Как-то так
« Последнее редактирование: Июня 24, 2011, 20:18 по Москве от Joe1000 » Записан
Joe1000

Сообщений: 20

У моей девушки, длинные ноги и большие глаза

« Ответ #17 : Июня 24, 2011, 20:17 по Москве »

Как в новый документ, автоматически вставлять шаблон некоторого Rich текста из заранее подготовленного NotesRichTextItem?

Цитировать
REM В событии PostOpen формы.

Sub Postopen(Source As Notesuidocument)

REM Объявляем переменные
           Dim db As NotesDatabase
           Dim vProfile As NotesView
           Dim profiledoc As NotesDocument
           Dim rtProfiledoc As NotesRichTextItem
           Dim uidoc As NotesUIDocument
           Dim ws As New notesuiworkspace
           Dim uidocnew As NotesUIDocument     
           Dim session As New NotesSession       

REM Берем текущую базу
           Set db=session.CurrentDatabase

REM Вью в которой наш т.н. профильный документ
           Set vProfile=db.GetView("vTemplate")
REM Берем первый документ и единственный
REM Где все настройки и шаблоны текста
           Set profiledoc=vProfile.GetFirstDocument 
REM Название поля в котором лежит текст, картинка, вобщем то что надо
           Set rtprofiledoc=profiledoc.GetFirstItem("fTemplate" )

REM Берем бэк энд текущего(нового) документа
           Set doc=ws.CurrentDocument.Document

REM Берем фронт энд текущего(нового) документа
           Set uidoc=ws.currentdocument
           
REM Если документ - новый
           If uidoc.isnewdoc Then

REM Так надо
                       Dim rtitem As New NotesRichTextItem(doc, "fMyData" )

REM Поле fMyData должно существовать на форме!
                       Call rtitem.AppendRTItem(rtprofiledoc)
                       Call rtitem.Update
REM Можно и через ReplaceItem
REM или как там
                       doc.SAVEOPTIONS = "0"

REM Сохраняем, что получилось
                       Call uidoc.Close(True)
REM И открываем заново
                      Set newuidoc = ws.EditDocument(True, doc)
REM А то, что было удаляем
                      Delete uidoc
REM Берем другой бэк энд
                      Set doc = newuidoc.Document
REM Убираем "тихое" удаление
                       Call doc.RemoveItem( "SaveOptions" )
           End If

End Sub

Примечание:

Так называемый профильный документ, это обычный документ созданный по какой-нибудь форме и хранящий в себе всякую нужную тебе информацию. Чтобы ты её мог брать.

Примечание2:

Форма, в которую ты собираешься вбивать информацию из профильного документа, должна быть с флагом Default form. Форма по умолчанию.

Примечание3:

Опробовано на NotesRichTextItem, но это может быть любое поле. Главное что в Rich text ты можешь засунуть и картинку, и таблицу, и даже простой форматированный текст. А можешь всё сразу.

Как-то так
Записан
Joe1000

Сообщений: 20

У моей девушки, длинные ноги и большие глаза

« Ответ #18 : Июля 12, 2011, 18:30 по Москве »

Как строить графики в Excel из Lotus?

Цитировать
...
Set xl=CreateObject("Excel.Application")
   Set xlWbk=xl.Workbooks.Add

REM зададим произвольный набор данных   
   xlWbk.ActiveSheet.Cells(1,1)="A"
   xlWbk.ActiveSheet.Cells(2,1)="B"
   xlWbk.ActiveSheet.Cells(3,1)="C"
   xlWbk.ActiveSheet.Cells(1,2)="1"
   xlWbk.ActiveSheet.Cells(2,2)="2"
   xlWbk.ActiveSheet.Cells(3,2)="3"
   
   r%=1
   c%=3

REM Можно вот так определить диапазон для графика
REM   therange$="A1:B3"

REM А можно вот так
   therange$="A"+Cstr(r%)+":B"+Cstr(c%)+""
   
   xlWbk.ActiveSheet.Range(therange$).Select
   xlWbk.Charts.Add

   xlWbk.Charts(1).ChartType = 57

   xlWbk.Charts(1).HasTitle = True
   xlWbk.Charts(1).ChartTitle.Characters.Text = "Lol"
   xlWbk.Charts(1).Axes(1, 1).HasTitle = True
   xlWbk.Charts(1).Axes(1, 1).AxisTitle.Characters.Text = "Ось Х"
   xlWbk.Charts(1).Axes(2, 1).HasTitle = True
   xlWbk.Charts(1).Axes(2, 1).AxisTitle.Characters.Text = "Ось Y"

   xlWbk.Charts(1).   HasLegend = False

   xl.Visible=True
...

Как-то так
« Последнее редактирование: Июля 13, 2011, 17:01 по Москве от Joe1000 » Записан
Joe1000

Сообщений: 20

У моей девушки, длинные ноги и большие глаза

« Ответ #19 : Июля 12, 2011, 18:32 по Москве »

Как выгрузить таблицу из NotesRichTextItem в таблицу Excel?

Цитировать
...

            row%=1   
   ju%=0
   thestr$=""
   thestr$ = docx.fOrderTable
   strReturn$ = ""
   For cntr% = 1 To Len(thestr$)
      t$ = Mid$(thestr$, cntr%, 1)
      If (Asc(t$) <> 13) And (Asc(t$) <> 10) Then '13=>CR, 11=>LF
'      If (Asc(t$) <> 13)  Then '13=>CR, 11=>LF         
         strReturn$ = strReturn$ + t$
      Else
         ju%=ju%+1
         strReturn$ = strReturn$ + "\"
         If(ju%=2)Then
            strReturn$=strReturn$+" "
            ju%=0
         End If
      End If
   Next
   thestr$=      strReturn$
REM varx - Variant
   varx=Split(thestr$,"\\")
   
   col%=1
   
   Forall x In varx
      xlWbk.ActiveSheet.Cells(row%, col%)=x
      xlWbk.ActiveSheet.Cells(row%,col%).Borders.LineStyle = 1

REM шапку выделим жирным
      If(row%=1)Then
         xlWbk.ActiveSheet.Cells(row;, col;).Font.Bold=True         
      End If
      col%=col%+1
REM 4 - количество столбцов в таблице + 1
      If(col%=4)Then
         col%=1
         row%=row%+1
      End If
   End Forall
   
   xlWbk.ActiveSheet.Cells(row, col%-1).Borders.LineStyle = 0
...

Как-то так

Добавлено:

Если в ячейке более 50 символов, то метод работает фигово. Есть ещё два варианта. Потом добавлю.

Проще всего это использовать функцию копирования-вставки. Типа

Цитировать
...
            Set uidoc = ws.currentdocument
'Копировать можно только взяв документ на редактирование
            Set uidoc = ws.EditDocument( True )
'поле, где наша таблица
            Call uidoc.GotoField("fTable")
'Выделить содержимое и копировать
            Call uidoc.SelectAll
            Call uidoc.Copy
'В Excel вставить
            Call xlWbk.ActiveSheet.Paste
'И снять документ с редактирования
            Set uidoc = ws.EditDocument( False )

...

Примечание: Если скопировать-вставить, то оформление - рамка, шрифт и т.п. не сохраняются.
Примечание2: Если нужно вставить в Excel в определенную ячейку, то её нужно просто выбрать, а потом сделать Вставку.
« Последнее редактирование: Июля 23, 2011, 09:29 по Москве от Joe1000 » Записан
KerryT
Терапевты
***
Сообщений: 1889

Верю в тебя, все получится!

« Ответ #20 : Апреля 03, 2014, 21:22 по Москве »

Джо ушел в себя:) закрываю мастерскую:)
Записан

Мы тебе помогли?:) Принимаем пожертвования на мечту http://break-people.ru/cmsmade/?page=how_to_donate_to_project  QIWI +79224359193
Страниц: 1 [2] Печать 
« предыдущая тема следующая тема »
 


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0 RC1 | SMF © 2006–2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!