Как взять с нужной директории винта рисунки и запихнуть в РТ итэм?

  • Автор темы 11BOSS11
  • Дата начала
1

11BOSS11

#1
Как взять с нужной директории винта рисунки и запихнуть в РТ итэм? :lovecodeby:
 

alik86

Lotus team
20.11.2008
465
1
#2
Можно что-то типа:
Код:
Dim Wsp As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = Wsp.CurrentDocument
Call uidoc.GotoField("Name")
Call uidoc.Import
Это если документ открыт на редактирование.
 
1

11BOSS11

#3
Можно что-то типа:
Код:
Dim Wsp As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = Wsp.CurrentDocument
Call uidoc.GotoField("Name")
Call uidoc.Import
Это если документ открыт на редактирование.
ну это с выховом окна диалога.. а в тени как?
я знаю адрес директории и имена файлов..
знаю имя поля......
есть кнопочка, при нажатии которой файлы должны сразу попасть в поле..
 
1

11BOSS11

#5
а вот еще вопросик:
есть допусти м директория,
как мне узнать имена всех файлов находящихся в этой директории?
 

alik86

Lotus team
20.11.2008
465
1
#6
Открыть и посмотреть! :lovecodeby:

' List the contents of the c:\ directory, one entry per line.
Dim pathName As String, fileName As String
pathName$ = "c:\*.*"
fileName$ = Dir$(pathName$, 0)
Do While fileName$ <> ""
Print fileName$
fileName$ = Dir$()
Loop
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
17
#7
11BOSS11
а хелп по дизайнеру открыть и посмотреть раздел работа с файлами религия не позволяет?
ко*цензура* Dir
 

alik86

Lotus team
20.11.2008
465
1
#10
Ну тут я уж пожалуй всецело поддержу ToxaRat -- :) ;)
В частности NotesRichTextItem class посмотрите.
 

Omh

Lotus team
04.07.2007
2 210
1
#12
Капитан Очевидность декларирует: "NotesRichTextItem.EmbedObject"
 
1

11BOSS11

#14
Код:
	Set rtitem=doc.GetFirstItem("foto")
Call rtitem.Update
'	Set rtitem = New NotesRichTextItem( doc, "foto" )
Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", puth$+fileName$)
Call rtitem.Update
Call doc.Save( True, True )

я атачю файл в РТполе, но оно прикрепляется не к полю а у самому документу....... :trash:
что я неправильно делаю? =(
 

Omh

Lotus team
04.07.2007
2 210
1
#15
1. Апдейт делай только в конце.
2. Проверь соответсвие имени поля на форме и в скрипте, по идее, всё правильно делаешь.

Ошибки нету никакой??
 
1

11BOSS11

#16
1. Апдейт делай только в конце.
2. Проверь соответсвие имени поля на форме и в скрипте, по идее, всё правильно делаешь.

Ошибки нету никакой??
имя правильное.......
а атачит не в поле , а к доку... :trash:
и ошибки нету.........
 

Omh

Lotus team
04.07.2007
2 210
1
#17
Покажи весь скрипт: как создаётся док, как задекларена переменная rtitem и т.д.
Кусок который ты привёл, какбэ, правильный.
 
1

11BOSS11

#18
Покажи весь скрипт: как создаётся док, как задекларена переменная rtitem и т.д.
Кусок который ты привёл, какбэ, правильный.
Код:
Sub Click(Source As Button)
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim UIdoc As NotesuiDocument
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim rtitem1 As NotesRichTextItem

Set db = s.CurrentDatabase
Set profiledoc=db.GetProfileDocument("setup")
Set UIdoc=ws.CurrentDocument
Set doc=uidoc.Document

puth$=profiledoc.tmpdir(0)
If Right(puth$,1)="\" Then
puth$=Left(puth$,Len(puth$)-1)
End If
puth$=puth$+"\tmp\"


puthName$=puth$ + "*.gif"
fileName$ = Dir$(puthName$, 0)

Call doc.Save( True, True )

Call UIdoc.GotoField("img")
'	Set rtitem1 = New NotesRichTextItem( doc, "img" )
Call	uidoc.FieldClear("img")
'	Call	doc.ReplaceItemValue("img", "")

Call UIdoc.Import("gif image", puth$+fileName$)		
'Call UIdoc.GotoField("foto")
Set rtitem=doc.GetFirstItem("foto")
'Call rtitem.Update
'	Set rtitem = New NotesRichTextItem( doc, "foto" )
Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", puth$+fileName$)
'Call rtitem.Update
Call doc.Save( True, True )
Do While fileName$ <> ""
Print fileName$
fileNAMEfin$=puth$ & fileName$
Print fileNAMEfin$
'Call UIdoc.Import("gif image", fileNAMEfin$)		
'Call doc.AttachVCard(doc,fileNAMEfin$) 

Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", fileNAMEfin$)
'Call rtitem.EmbedObject ( EMBED_ATTACHMENT, "", fileNAMEfin$)		
Call rtitem.Update
Call doc.Save( True, True )
fileName$ = Dir$()
Loop

End Sub
Добавлено: при нажатии на кнопку мы имортим в поле img первый файл с извесной нам директории, и все файлы этой директории надо приатачить в рт Итем - foto...
 

Omh

Lotus team
04.07.2007
2 210
1
#19
Сумбурно однако, неудивительно, что глючит.

Надо бы отделить мух от котлет:
все UI операции типа этих
Код:
Call UIdoc.GotoField("img")
Call uidoc.FieldClear("img")
Call doc.ReplaceItemValue("img", "") - это вообще непонятно что
Call UIdoc.Import("gif image", puth$+fileName$)
выпилить отседа.

Запомнить, что все операции с ричтекстами присходят в бэкграунд документе и если ты работаешь с ним при открытом uidoc, то после сохранения надо переоткрывать не сохраняя uidoc.

Конкретно в твоём случае, думаю где-то позже ты пересохраняешь doc через uidoc (напримеро по Ctrl + S) и получаешь аттачи внизу под траурной линией.

А вообще код жутковатый :trash:

Добавлено: puth, profiledoc - глобальные переменные? Зачем?
Лишние переменные выпили: rtitem1
Option Declare стоит?
Call doc.Save( True, True ) в начале нужен, как зайцу стоп-сигнал.
 
1

11BOSS11

#20
Сумбурно однако, неудивительно, что глючит.

Надо бы отделить мух от котлет:
все UI операции типа этих
Код:
Call UIdoc.GotoField("img")
Call uidoc.FieldClear("img")
Call doc.ReplaceItemValue("img", "") - это вообще непонятно что
Call UIdoc.Import("gif image", puth$+fileName$)
выпилить отседа.

Запомнить, что все операции с ричтекстами присходят в бэкграунд документе и если ты работаешь с ним при открытом uidoc, то после сохранения надо переоткрывать не сохраняя uidoc.

Конкретно в твоём случае, думаю где-то позже ты пересохраняешь doc через uidoc (напримеро по Ctrl + S) и получаешь аттачи внизу под траурной линией.

А вообще код жутковатый :)

Добавлено: puth, profiledoc - глобальные переменные? Зачем?
Лишние переменные выпили: rtitem1
Option Declare стоит?
Call doc.Save( True, True ) в начале нужен, как зайцу стоп-сигнал.
ыы.........надо смотреть.........

Call doc.ReplaceItemValue("img", "") - это вообще непонятно что
- это закоментировано