All Forums
 Категория Visio
 Форум Вопросы и ответы
 Как открыть файл визио со ссылками ?
Author Previous Topic Topic Next Topic  

bdfy

Belarus
267 Posts

Posted - 05/01/2010 :  17:20:51
Есть файлы. их надо программно пооткрывать и обработать. была бы не проблема, но в файлах содержаться ссылки на xls документы. с автоматическим обновлением. OpenEx в итоге если использовать - открытие часто зависает ( если файла нет или открыть его нельзя). как это побороть ? как принудительно открыть ? мне нужно части из этих чертежей перенести в новый файл.

Tumanov

Russia
1198 Posts

Posted - 05/01/2010 :  17:41:50
А разве ошибка не выдается, если файл отсутствует? Вы ошибки обрабатываете?
P.S. А это не 2007 Visio? А то, как бы там не пришлось программно рекордсеты удалять... Помнится, были какие-то проблемы с открытием файлов, связанных с данными. Правда, там открывали вручную. Но все равно висло.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 05/01/2010 :  18:51:04
общая ситуация такова:
есть файл xls, файл vsd - связаны вместе для выполнения опред. расчетов. производится некоторые расчеты - файл сохраняются в виде резерва в опред. папку.
сейчас мне нужно подаставать эти резерные копии. при этом мне нужно для расчетов чтобы был открыт xls с таким же именем как тот на который есть ссылка в открываемом vsd (ибо это один и тот же проект по сути).
ошибка, нет не выдается.
quote:
Err.Number = 0
On Error GoTo err1
Set vDoc = VisioApp.Documents.OpenEx(path1 & ThisDocument.name, visOpenMinimized)
Debug.Print Err.Number

при открытии визио файла - ексель выдает ошибку что не может открыть второй файл с таким же именем и все это счастье благополучно зависает ( снимается с большим трудом
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 05/02/2010 :  08:53:10
ладно. путем ряда переименований все можно заставить работать )
меня вот что теперь беспокоит
вот так все работает
quote:
Set vs = doc1.Pages.Item("исх. схема").Shapes("box0_1").SpatialNeighbors(3, 0.2, 0)

Debug.Print vs.Count


а вот так invalid container
quote:
Dim page_name, box_name As String
Dim vs As Variant
page_name = "исх. схема"
box_name = "box0_1"
Set doc1 = ThisDocument


Set vs = doc1.Pages.Item(page_name).Shapes("box0_1").SpatialNeighbors(3, 0.2, 0)
Debug.Print vs.Count

в чем дело ?
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 05/02/2010 :  09:19:30
Неточность в объявлении переменных. Нужно
Dim page_name As String, box_name As String
а не
Dim page_name, box_name As String
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 05/02/2010 :  09:20:40
так ведь определил же. неужели это лишнее ?
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 05/02/2010 :  09:22:52
Извиняюсь, подправил. (см. выше)
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 05/02/2010 :  13:15:35
мда... ВБА еще раз поразил меня в самое сердце )) не ожидал
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)