Import и Attache

  • Автор темы Hedg
  • Дата начала
H

Hedg

Можно ли сделать эти два действия указав объект для них лишь один раз а не для каждого действия отдельно???
 
A

allex

Диалогом выбора объекта + диалог выдора действия (флагом), а потом условием указать на нужное действие
 
H

Hedg

Для: allex
наглядно можешь показать???
 
A

allex

Что тут показывать
В хелпе многое есть, посмотри внимательнее. Там и диаог выбора файла из директории ну а уж обычный if <условие> then <действие> напишешь какой нужно.
Там есть и импорт как просто файла, в качестве аттачмента, так и в виде объекта.
Не ленитесь читать HELP.
 
H

Hedg

Для: allex
Знать бы с чего читать

Хочу сделать кноку котрая импортирует и атачит один и тот же файл в документ, как по отдельности знаю, а вот как объеденить не понимаю.
 
A

allex

Делаешь диалог на выбор файла
соответственно у тебя будет какая-то переменная (file)
а дальше примерно так

Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Call uidoc.GotoField("Body_attach")
Call uidoc.Import("MS Word", file)' аттачмент
Call uidoc.GotoField("Body_obj")
Call uidoc.CreateObject("Quarterly Reports", file)' внедренный обект
End Sub
 
H

Hedg

Скитаясь по хелпу нашёл
stringArray = notesUIWorkspace.OpenFileDialog( multipleSelection , [title$] , [filters$] , [initialDirectory$] , [initialFile$] )

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

Hedg

Проблема в передаче пути к файлу методу

Код:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
filename = ws.OpenFileDialog( True, "Выберите файл(ы)")
Call uidoc.GotoField("Scan")
Call uidoc.Import("JPEG Image", Cstr(filename))
Call uidoc.GotoField("Atach")
Call uidoc.CreateObject("Quarterly Reports", filename)' аттачмент

End Sub

Вот сдесь получаю Incorrect argument type: string expected
Код:
Call uidoc.Import("JPEG Image", filename)
 
A

allex

Я тебе привет просто пример как я понимаю твою задачу...
Наводку вам дали...а уж выпить то сами сможете.
 
H

Hedg

Задача.

Документ(бумажный формата А4) сканируется и импортируется в документ в лотусе. Но бывает нужно иногда распечатать этот скан, так как бумажный аналог уничтожается. При печати из лотуса это скан разрывается на несколько частей(ипортируется в натуральную величину, а в Лотусе кроме скана присутствуют ещё всёкие поля с данными), вот и хотелось бы помимо импорта держать ещё и приатаченный файл его проще распечатать.

Натыкаюсть на проблему, что переменная в которую передаётся путь к файлу должна быть Variant
А при передаче в метод Import должна быть String
использование функции Cstr, результатов не даёт
 
H

Hedg

Блин не получается.
В отладчике вижу что путь в переменную попдает
Код:
filename = ws.OpenFileDialog( True, "Выберите файл(ы)")

А вот заюзать
Код:
 Call uidoc.Import("JPEG Image", filename)
Или
Код:
Call uidoc.CreateObject("Quarterly Reports", filename)' аттачмент

не проходит
 
H

Hedg

Да документв Edit Mode

Call uidoc.Import("JPEG Image", filename) с этим разобрался вот так
Код:
Call uidoc.Import("JPEG Image", filename(0))
Так как OpenFileDialog возвращает масив строк. Но если добавляется несколько файлов то уже не работает, как проверить число импортируемых файлов я не знаю.

Со вторым чуть другое, для создания объекта он дожен быть зарегистрированн в системе, а JPG не явлётеся OLE объектом. Вот тут тупик.
 
O

Ogion7

ну для кучи записей в поле юзаем ForAll statement
 
H

Hedg

Для: Ogion7
Спасиба, но проблемма Атача осталсь, а вес ьсыр бор начался именно из-за неё.
 
O

Ogion7

Попробуй использовать метод EmbedObject из класса NotesRichTextItem

У меня правда приатачило аж внизу дркумента :)
 
H

Hedg

Для: Ogion7
Спасиба получилось, единственное что пока не понял как юзать этот ForAll для моего случая.
 
Мы в соцсетях:

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