Получить объект документа Word из Аттача

  • Автор темы fvoice
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

fvoice

Гость
#1
Для получения оного, обычно использую:
Код:
Set wObj = CreateObject("Word.Application")
Set emo=doc.GetAttachment("Lotus.doc")
Call emo.ExtractFile(spath)
Set WordDoc = wObj.Documents.open(spath)
Можно какнибудь работать непосредственно с приаттаченным файлом, не сливая его на локал?
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
Для: fvoice
Хэлп так и говорит

This method raises an error if you invoke it on a NotesEmbeddedObject that is a file attachment.

Хотя насколько я понял он просто хэндл окна(handleV) возвращает в ничто ( Nothing )
 
K

K-Fire

Гость
#6
А почему не хотите сливать файл на диск?
 
F

fvoice

Гость
#7
Для: K-Fire
Мне нужно потом этот документ обратно аттачить, только в другой документ, это вызывает некоторые сложности, например нужно сохранить иконку Ворда (весьма не удобно на LS) или нужно сохранять файл на жестак юзера и потом его удалять, ИМХО узкое место(доступ на создание/удаление, уникальные имена)..
на выходе получаем кучу дополнительного кода + кучу дополнительных мест где этот код может обрушиться.

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

Любым поправкам/дополнениям/критике буду очень признателен :)
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
#8
Для: Всех
Кстати, если есть действительнно рабочий способ работы с аттачментами не выгружая на диск, выслушаю с удовольствием :)
 
S

Sandr

Гость
#9
Для: Всех
Кстати, если есть действительнно рабочий способ работы с аттачментами не выгружая на диск, выслушаю с удовольствием :o
Сам подумай, можно ли в ворде открыть несуществующий документ? Приатаченный док, физически не является документом...
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
#10
Ну мало ли...
Это же Lotus.
Он может всё :o
 
K

K-Fire

Гость
#11
<!--QuoteBegin-fvoice+26:09:2007, 08:55 -->
<span class="vbquote">(fvoice @ 26:09:2007, 08:55 )</span><!--QuoteEBegin-->Думать в сторону использования EMBED_OBJECT пока не могу т.к. не использовал его раньше и не знаю какие фокусы он может выкинуть во время работы, а аттач он и в африке аттач, висит себе спокойно в документе и кушать не просит.
[snapback]79571" rel="nofollow" target="_blank[/snapback]​
[/quote]

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

<!--QuoteBegin-fvoice+26:09:2007, 08:55 -->
<span class="vbquote">(fvoice @ 26:09:2007, 08:55 )</span><!--QuoteEBegin-->Мне нужно потом этот документ обратно аттачить, только в другой документ, это вызывает некоторые сложности, например нужно сохранить иконку Ворда (весьма не удобно на LS) или нужно сохранять файл на жестак юзера и потом его удалять, ИМХО узкое место(доступ на создание/удаление, уникальные имена)..
[snapback]79571" rel="nofollow" target="_blank[/snapback]​
[/quote]

Обратно аттачить - по-моему тут нет вообще никаких сложностей, аттач он и в африке аттач <_<
Сохранить иконку Ворда - тут я не понял смысла. Иконка отображается автоматически если тип файла зарегестирован в винде и имеет иконку (вроде так, да?). Я бы забил на этот момент вообще.
Сохранять и потом удалять - тоже очень легко.

В общем, мне кажется, вы выдумываете проблему, там где её нет :)
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
#12
Для: K-Fire
<!--QuoteBegin-K-Fire+27:09:2007, 11:07 -->
<span class="vbquote">(K-Fire @ 27:09:2007, 11:07 )</span><!--QuoteEBegin-->Иконка отображается автоматически если тип файла зарегестирован в винде и имеет иконку (вроде так, да?)
[snapback]79749" rel="nofollow" target="_blank[/snapback]​
[/quote]

Да вот, вроде, не.
Вроде, только если через UI вкладываешь.
Так что, вроде, не будет при вложении в bacgrnd документ <_<
 
I

IsAvailable

Гость
#13
<!--QuoteBegin-fvoice+26:09:2007, 10:55 -->
<span class="vbquote">(fvoice @ 26:09:2007, 10:55 )</span><!--QuoteEBegin-->узкое место(доступ на создание/удаление, уникальные имена)..
[snapback]79571" rel="nofollow" target="_blank[/snapback]​
[/quote]
Переменная среды "Temp" поможет решить эти вопросы =)
А насчет уникальности - можно в имени файла добавлять время с точностью до секунды (как вариант)
 

Constantin A Chervonenko

Well-Known Member
Lotus team
30.05.2006
1 333
4
#14
Переменная среды "Temp" поможет решить эти вопросы =)
На клиенте - нормально. Вот на сервере это проблема... Во 1-х потребуются unrestricted правА, во 2-х сервер - неизвестной (заранее) природы. Не винюк, а *NIX или вообще AS/400 или mainframe, где никакой TEMP нет


Ну мало ли...
Это же Lotus.
Он может всё :)
Lotus - может. Особенно если офис - тоже от Лотуса (в SmartSuite что WordPro что 1-2-3 умели делать Open и Save as прямо в Домину)
 
S

Sandr

Гость
#15
На клиенте - нормально. Вот на сервере это проблема... Во 1-х потребуются unrestricted правА, во 2-х сервер - неизвестной (заранее) природы. Не винюк, а *NIX или вообще AS/400 или mainframe, где никакой TEMP нет
Не знаю про AS/400, но в *NIX TEMP есть, тока зовется он TMP и проблем с доступом туда никаких нет... Сам неоднократно выкладывал файлы на сервер, при аботе из под ВЕБа...
 

Constantin A Chervonenko

Well-Known Member
Lotus team
30.05.2006
1 333
4
#16
Не знаю про AS/400, но в *NIX TEMP есть, тока зовется он TMP и проблем с доступом туда никаких нет...
Т.е. я могу выгрузить туда ".exe"-шник и запустить его там? Ваш Админ мышей не ловит...

Вообще-то *NIXы я помянул в контексте правил именования файлов/каталогов
 
S

Sandr

Гость
#17
Т.е. я могу выгрузить туда ".exe"-шник и запустить его там? Ваш Админ мышей не ловит...
Не пойму, что тут странного? Если дело происходит на сервере, файл выкладывается сервером... Как запретить серверу выкладывать файл, если не в темп, но в свою дирректорию? Он ведь работать не будет....
 

Constantin A Chervonenko

Well-Known Member
Lotus team
30.05.2006
1 333
4
#18
Почему не будет? Речь-же шла (в частности) об объекте - прямо на месте его и активируют... :P
 
Статус
Закрыто для дальнейших ответов.