Author |
Topic |
Mihail
Russia
10 Posts |
Posted - 08/13/2004 : 13:13:35
|
Нужно из другого приложения сохранять как веб пейдж, весь документ visio 2002 целиком, все страницы.. из того что удалось наити работает только App.Documents.Pages.export "c:\path\test.html" но это не подходит надо красивенько со всеми страницами сохранить как по кнопке из меню File/Save As Web Page...
подскажите как ниписать такое на VBA
Спасибо |
|
Digitall
Russia
389 Posts |
Posted - 08/13/2004 : 13:20:19
|
quote: Originally posted by Mihail
Нужно из другого приложения сохранять как веб пейдж, весь документ visio 2002 целиком, все страницы.. из того что удалось наити работает только App.Documents.Pages.export "c:\path\test.html" но это не подходит надо красивенько со всеми страницами сохранить как по кнопке из меню File/Save As Web Page...
подскажите как ниписать такое на VBA
Спасибо
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devref/HTML/SAW_Basics_50.asp |
|
|
Mihail
Russia
10 Posts |
Posted - 08/13/2004 : 14:13:10
|
Да находил эту страницу поковырял эту функцию.. но как это физически будет выглядеть.. разобраться не смог.. что это за функция RUNaDDONWaRGS, как и откуда ее надо запускать. какие действия нужно произвести что бы из другого приложения воспользоваться этой функцией? |
Edited by - Mihail on 08/15/2004 15:29:53 |
|
|
immortal
Russia
391 Posts |
Posted - 08/16/2004 : 06:26:06
|
предлагаю другой вариант делаем экспорт в гифы, а потом делаем хтмл по своему вкусу.
--------------------- визио 2003 форэвер |
Edited by - immortal on 08/16/2004 06:27:09 |
|
|
Mihail
Russia
10 Posts |
Posted - 08/16/2004 : 07:02:01
|
...как вариант можно конечно попробывать.. но все привыкли к стандартному виду документа Visio после Save As Web Page... Там ссылочки и рабочие элементы всякие разные.. DLL есть такая SaveAsWeb.dll в комплекте .. но нет описания ее классов и методов .. |
|
|
immortal
Russia
391 Posts |
Posted - 08/16/2004 : 07:43:11
|
quote: Там ссылочки и рабочие элементы всякие разные..
дык сделай сам |
|
|
immortal
Russia
391 Posts |
Posted - 08/16/2004 : 07:50:34
|
quote: DLL есть такая SaveAsWeb.dll в комплекте .. но нет описания ее классов и методов
запускаешь визуал бейсик, создаешь новый проект, кликаешь меню project - references... и там подключаешь SaveAsWeb.dll, далее меню view - object browser, там VisSAW, и смотришь методы и классы |
|
|
Mihail
Russia
10 Posts |
Posted - 08/16/2004 : 15:27:40
|
Да как то криво работает с этои библиотекой saveasweb .. пробывал... может кто готовое решение подскажет :) неужели ни кто не сталктвался с такои проблемой? пришлите хотя бы скрипт который получается при записи макроса в 2003 visio (Слышал что в 2003 VISIO есть запись макросов якобы) Спасибо. |
|
|
immortal
Russia
391 Posts |
Posted - 08/17/2004 : 05:18:58
|
quote: Слышал что в 2003 VISIO есть запись макросов якобы
точно! quote: пришлите хотя бы скрипт который получается при записи макроса в 2003 visio
Sub macro1()
End Sub как понимаете, следов нет, ибо используется внешнее приложение.
если не к спеху, то я запланировал разработку экспорта в веб в своем Add-in приложении
--------------- визио 2003 форэвер |
|
|
Mihail
Russia
10 Posts |
Posted - 08/17/2004 : 10:28:18
|
А Add-in как работает? дело в том что мне нужно обрабатывать все приходящие на мыло vsd фаилы. Код Add-in на машине располагается или к документу должен быть прикреплен? интересно поглядеть как этот экспорт будет работать ..
|
|
|
immortal
Russia
391 Posts |
Posted - 08/17/2004 : 13:11:06
|
quote: А Add-in как работает?
можешь посмотреть на моей хомепаге, в разделе довнлоад, работает с 2003, остальное не проверял. адд-ин представляет собой длл файл который регистрируется и потом запускаешь визио и там он автоматически загрузиться в виде панели с кнопками,жмакаешь на кнопки и выводятся диалоговые окна(можно и не выводить) ну в общем типа запуска внешней программы ехе которая обращается к документу визио, как требуется так и сделаю, принимаю формы на vb vba
|
|
|
immortal
Russia
391 Posts |
Posted - 08/17/2004 : 13:20:16
|
quote: дело в том что мне нужно обрабатывать все приходящие на мыло vsd фаилы.
ну так бы и сказал, тоды лучше писать внешнюю программу, и скопом все файлы переконвертировать
quote: Код Add-in на машине располагается или к документу должен быть прикреплен?
к программе визио прикреплен quote: интересно поглядеть как этот экспорт будет работать ..
, опиши как оно должно работать, так и сделаю |
|
|
immortal
Russia
391 Posts |
Posted - 08/17/2004 : 13:35:07
|
quote: подскажите как ниписать такое на VBA
берещь например выключаешь компьютер, наливаешь чашку кофэ или шампанское........ угар |
|
|
Mihail
Russia
10 Posts |
Posted - 08/17/2004 : 19:12:33
|
ДА в том то и дело что усложнять вопрос тут не хочется .. почтоавя среда у меня lotus у нее свои встроенные языки один почти тоже самое что VBA, но классы только свои встроенные. есть классы для работы с OLE.. очень простые без наворотов.. так вот приходит письмо я могу запустить в момент прихода или по шедулеру код который выявит то что надо и сохранить на диск.. как фаил vsd. потом этот же код или другои в Lotus, не важно, открывает спомощью классов OLE своих фаил с диска выглядит это практически так set obj=getobject("path",Visio.Application).. все дальше начинают работать только встроенные классы этого Visio.Application.. что то больше прикрутить сюда - ХЗ как, не получалось до сель.. но в Visio кажется есть метод запуска add-in-ов встроенный .. так что вижу этот вариант для себя подходящим ..дело за тем как написать add-in .. а делать он должен лишь одно деиствие .. пусть даже это будет все на монитроре выглядеть как бы мышкой кто Save as web page нажимает .. изысков не нужно нужен только сам механизм. Я даже где то откапывал код на масдаевом саите где используется SaveAsWeb.dll и который якобы делает сохранение всего документа целиком.. но заставить работать этот код мне не удалось.. |
Edited by - Mihail on 08/17/2004 19:18:29 |
|
|
Tumanov
Russia
1198 Posts |
Posted - 08/17/2004 : 21:06:17
|
А что криво-то работает? Вот я влез в Visio SDK, посмотрел, как там учат с этой dll работать. Ну, недосказано чуть-чуть, но можно ведь и потыкаться. Взял пример оттуда
Public Sub saveAsWeb() Dim saveAsWeb As IVisSaveAsWeb Dim webSettings As IVisWebPageSettings
' Get a VisSaveAsWeb object that represents ' a new Web page project. Set saveAsWeb = New VisSaveAsWeb
' Get a VisWebPageSettings object. Set webSettings = saveAsWeb.WebPageSettings
' Configure our preferences. webSettings.StartPage = 1 webSettings.EndPage = 2 webSettings.LongFileNames = True webSettings.TargetPath = "c:\Network.htm"
' Now create the pages. Because we did not ' identify a particular document, the active drawing ' is saved. saveAsWeb.CreatePages End Sub
Все нормально, первую и вторую странички сохраняет, как сказано. Нехорошо, что на диалог выскакивает, так я добавил webSettings.SilentMode = True - он действительно стал по-тихому выводить, без диалогов...
К References добавил Microsoft_Visio_SaveAsWeb. Правда, по запарке еще и SaveAsWebRaster и SaveAsWebVML прилепил, но они может быть и не нужны...
|
|
|
Mihail
Russia
10 Posts |
Posted - 08/18/2004 : 13:26:24
|
код работает спасибо.. скачал SDK для 2002 Visio там кое что есть. но т.к. ни разу не сталкивался не могу ни как сделать отдельный модуль из этого кода. Как придумать, что бы можно было, для любого документа визио, потом делать так application.addons("SaveasWeb").Run "/quiet=True /target=path\test.htm" или что то подобное?
|
Edited by - Mihail on 08/18/2004 17:50:23 |
|
|
Topic |
|