Страница 2 из 2

Re: Экспорт в Word - потеря части данных

Добавлено: 01 сен 2010, 14:49
Irina_O
Александр, а как закрыть окно отчела Лоции после того,как данные из него выгрузились в документ?

Re: Экспорт в Word - потеря части данных

Добавлено: 02 сен 2010, 11:50
Irina_O
Irina_O писал(а):Александр, а как закрыть окно отчела Лоции после того,как данные из него выгрузились в документ?
Вопрос исчерпан, уже нашли решение.:)

Re: Экспорт в Word - потеря части данных

Добавлено: 03 сен 2010, 08:52
Александр
:wink: рад был помочь

Re: Экспорт в Word - потеря части данных

Добавлено: 23 май 2014, 07:14
dozhd
Добрый день!
Александр, можете привести пример - как из скрипта (скрипт вызывается из действия) у найденного объекта по запросу открыть документ архива на редактирование, с сохранением его обратно в Лоцию?

Re: Экспорт в Word - потеря части данных

Добавлено: 23 май 2014, 19:14
Александр
посмотрите тему http://www.lplm.ru/phpBB2/viewtopic.php ... 0%B2%D0%B0

Код: Выделить всё

--id объекта с документами архива для примера 100000606800037 
--файл в электронном архиве
        select top(1) 
               st1.Path+
               Empl.name+'\'+
               case when patindex('%.%_',fl1.file_name)=0 then fl1.file_name+fv1.ver_label 
                    else substring(fl1.file_name, 1, patindex('%.%_',fl1.file_name)-1)+
                         fv1.ver_label+
                         substring(fl1.file_name, patindex('%.%_',fl1.file_name),len(fl1.file_name)-patindex('%.%_',fl1.file_name)+1) end 
          from LSDBO.File1 fl1 left join 
               LSDBO.EmplUsers Empl on fl1.author_id=Empl.id left join 
               LSDBO.file_ver fv1 on fl1.id=fv1.file_id left join 
               LSDBO.Storage st1 on fl1.storage_id=st1.id 
         where fl1.object_reference_id=100000606800037 
      order by fv1.ver_label desc, fl1.cd desc

--оригинальное имя файла
       select top(1) 
              fv1.orig_filepath 
         from LSDBO.File1 fl1 left join 
              LSDBO.EmplUsers Empl on fl1.author_id=Empl.id left join 
              LSDBO.file_ver fv1 on fl1.id=fv1.file_id left join 
              LSDBO.Storage st1 on fl1.storage_id=st1.id 
        where fl1.object_reference_id=100000606800037 
     order by fv1.ver_label desc, fl1.cd desc
все в скрипте действия
запросы выполняются через объект ADO
с файлом работаете через WHS (Windows Script Host) FSO объект
если архив/файл не защищенный - получили путь, отредактировали/сохранили
ps
вся отладка в vba (Alt+F11) Excel
если есть вопросы - пишите

Re: Экспорт в Word - потеря части данных

Добавлено: 03 июн 2014, 08:59
dozhd
Спасибо, Александр!
Все файлы защищенные.
Сделала открытие файлов в действии, потом перехожу в скрипт, считываю информацию из открытого dwg-файла, закрываю этот файл и возвращаюсь обратно в действие.
А хотелось использовать функцию в скрипте OpenDocumentVersion, но почему-то не получается.

Re: Экспорт в Word - потеря части данных

Добавлено: 04 июн 2014, 21:47
Александр
к сожалению... у нас используются только офисные файлы, интеграция с САПР не подключена
так что даже и посоветовать ничего не могу, поскольку не владею спецификой :wink: :wink: :wink:
...
хотя с другой стороны все как обычно
1. версию вернее ее путь вы можете получить из запросов которые приведены ранее - уберите ограничения top(1) и увидите все версии/пути файла
2. соответственно посмотрите или
- как запускается AutoCAD через командную строку с указанным файлом (но это не интересно - путь в один конец)
- как подключиться к COM модели AutoCAD (здесь вы уже можете делать все что душе угодно)
Насколько помню объектная модель AutoCAD хорошо документирована и проста в использовании, масса примеров в хелпе и в интернете dwg.ru и т.д.

думаю разберетесь (тем более что из всей модели нужно то пару функций всего), и все сделаете скриптами

ps
типа смотрите в эту сторону
1) Create AcadApp:
Dim AcadApp As AutoCAD.AcadApplication
Set AcadApp = CreateObject("AutoCAD.Application")
AcadApp.Application.Visible = True

2) Open desired file
Dim acadDoc As AutoCAD.AcadDocument
Set acadDoc = AcadApp.Documents.Open(complete path of the file)