Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 19 мар 2024, 14:43

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !

Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Sceleton тестирование
СообщениеДобавлено: 19 апр 2013, 21:11 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 2251
Очков репутации: 100626

Добавить очки репутацииУменьшить очки репутации
В этом топике помещаем сведения о неисправностях.
Содержимое спрятано под спойлер ↓
Спойлер:
Можно было бы заняться этим и позже, когда появятся требования к шейпам... Но можно и сейчас. Заранее пристреляться. Писать, у кого что не заработало.
Вариант 2 - писать, что хотелось бы, чтобы работало. Может ведь быть и так, что движок можно приспособить к другой похожей задаче.

Считается проверенным:
1. Настройка на источник, генерация схемы, обнаружение и корректировка изменений в сочетании Visio 2007, Excel 2007, Windows XP.
2. То же в сочетании Visio 2010 Standard, Excel 2010, Windows 7.
Обнаруженные ошибки:
1.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 19 апр 2013, 22:28 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
скачал последнюю версию
"D:\!TumanovПрочее\РабОбласть\!Scheme_v2\Power.xls" это что? почему в шейпшите документа жестко зашитый путь? у меня конечно же коннект не устанавливается. пишет ошибку.

все-таки с моим визио 2003 что-то не так. даже при исправленном пути ничего не происходит. не строится схема :(

при попытке выбрать "настройка соединение" вылезает ошибка "ActiveX component can't create object or return reference to this object (Error 429)"
здесь: ThisDocument.ConnSettings -> Set CDLG = CreateObject("MSComDlg.CommonDialog"). в инете пишут что у многих проблема с этим. может сделать проще как-то?

маленький совет, не надо пользоваться такой сложной конструкцией:
Replace(ActiveDocument.DocumentSheet.Cells("User.Provider").Formula, Chr(34), "")
проще так:
ActiveDocument.DocumentSheet.Cells("User.Provider").ResultStr(0) - возвращает строку без кавычек


Последний раз редактировалось 9rey 19 апр 2013, 22:45, всего редактировалось 1 раз.

Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 19 апр 2013, 22:42 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 2251
Очков репутации: 100626

Добавить очки репутацииУменьшить очки репутации
В шейп-листе остается последний путь. После выбора меню "Настройка" он меняется на новый. В этот же момент подстраиваются другие параметры коннекта. После выбора меню "Синхронизация" строится рисунок.
Сообщений никаких не выдает?
Вообще-то в Visio 2003 я не пробовал. Сейчас поставлю, проверю.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 19 апр 2013, 22:46 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 19 апр 2013, 22:55 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 2251
Очков репутации: 100626

Добавить очки репутацииУменьшить очки репутации
Понял. Если не трудно, закомментируйте все, что касается диалога вот здесь
Код:
Sub ConnSettings()
'Команда настройки соединения с источником данных
    'Для начала в диалоге запрашивается (новый) файл источника.
    Dim CDLG As Object
    Set CDLG = CreateObject("MSComDlg.CommonDialog")
    With CDLG
      .DialogTitle = "Открытие источника данных"
      .Filter = _
        "Excel 2003; Excel 2007|*.xls; *.xlsx|Excel 2007|*.xlsx|"
      .ShowOpen
      FilePath = .FileName
    End With
    Set CDLG = Nothing

В ThisDocument.
И впишите FilePath = ... путь к файлу Excel. И запустите Sub ConnSettings
Коннект должен настроиться.
---
В принципе, путь можно было и в каком-нибудь конфиге прописывать, но хотелось поудобнее сделать :)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 19 апр 2013, 23:04 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
да. так заработало
вот что появилось
Изображение


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 19 апр 2013, 23:10 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 2251
Очков репутации: 100626

Добавить очки репутацииУменьшить очки репутации
Ну да. На 4 листах.
Если в Excel данные изменить и снова нажать "Синхронизация", выделятся шейпы в которых данные отличаются. После согласия на корректировку, значения обновятся. Пока это все.
Тогда Visio 2003 ставить не буду, а то никак не найду :)


Последний раз редактировалось Tumanov 19 апр 2013, 23:11, всего редактировалось 1 раз.

Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 19 апр 2013, 23:11 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
у меня эта схема и в первой версии рисовалось. Visio 2010 Professional

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 19 апр 2013, 23:13 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 2251
Очков репутации: 100626

Добавить очки репутацииУменьшить очки репутации
Она не рисовалась в Visio 2010 Standard и не рисовалась в Visio 2003. Сейчас рисуется.
Значит текущая проблема - с диалогом. Надо будет сделать так, что если диалог в системе не установлен, то пользоваться конфигом. Записывать туда путь к файлу.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 20 апр 2013, 12:22 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
диалог вроде как установлен, но почему то не работает ActiveX интерфейс. вообще там бывают какие-то заморочки с лицензиями и т.п.
вот тут описан железный способ работы диалога через API и стандартную библиотеку винды:
http://vbnet.mvps.org/index.html?code/c ... pendlg.htm


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 22 май 2013, 23:57 
Не в сети

Зарегистрирован: 22 май 2013, 23:49
Сообщений: 5
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
У меня почему-то диалог работать не захотел. Странно, в Help'ах по Visio описано свойство Application.FileDialog, но обратиться к нему невозможно. Пришлось искать обходные пути:
Код:
Dim fd As FileDialog
Dim Excel As Variant
Set Excel = CreateObject("Excel.Application")
Set fd = Excel.FileDialog(msoFileDialogFilePicker)
With fd
    .Filters.Clear
    .Filters.Add "Excel 2003, 2007", "*.xls; *.xlsx", 1
    .FilterIndex = 1
    If .Show = -1 Then
        FilePath = .SelectedItems.Item(1)
    End If
End With
Excel.Quit: Set Excel = Nothing


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 23 май 2013, 00:01 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Исправлено на: а библиотека Excel, Scripting Runtime, Common Dialog подключена например ?

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 23 май 2013, 00:28 
Не в сети

Зарегистрирован: 22 май 2013, 23:49
Сообщений: 5
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Да. У меня CommonDialog подключать не хочет (ни comdlg32.dll, ни comdlg32.ocx, ни COMMDLG.DLL)
Честно сказать, надоели пляски с бубнами при работе с любой нестандартной библиотекой. Как-то ListView не мог использовать в Excel, потому что MathCad поставил, ещё чего-то не работало...
Для информации: Windows 7 Начальная, MSOffice 2007


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 23 май 2013, 00:44 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
была похожая тема на старом форуме, может поможет

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 23 май 2013, 07:20 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
С этими ActiveX интерфейсами часто проблемы. неудачная реализация MS. на машине может быть установлено несколько версий библиотеки. у меня на работе например не подключалась библиотека Common Controls. а там всё: ListView, TreeView и прочие основные котролы. в итоге победил подключением библиотеки напрямую из реестра:

Код:
Function LoadLibs() As Boolean
    Dim varThisProject As Variant
   
    LoadLibs = True
    Set varThisProject = ThisDocument.VBProject
   
    Err.Clear
    On Error Resume Next
    varThisProject.References.AddFromGuid "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}", 2, 0
    If Err.Number <> 0 Then
        MsgBox "Error: MSComctlLib"
        LoadLibs = False
    End If
End Function


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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 23 май 2013, 10:39 
Не в сети

Зарегистрирован: 22 май 2013, 23:49
Сообщений: 5
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
ListView в Excel я сэмулировал, а вызов файлового диалога, по-моему, проще сделать так, как показал ранее, чем городить огород из API :-)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 23 май 2013, 11:00 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
API дает 100% гарантию, что код с вызовом например файлового диалога будет работать на любом компе. тут я на 146% согласен с 9rey

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 23 май 2013, 11:19 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
Skif-F
с экселем конечно тоже вариант :)
но это же стартует целое приложение всего лишь для вывода диалога!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 24 май 2013, 00:02 
Не в сети

Зарегистрирован: 22 май 2013, 23:49
Сообщений: 5
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Странно, наиболее хорошее описание объекта FileDialog в помощи по Visio, но именно там этого объекта и нет.
Вариант с применением API проработал:
Код:
Sub ConnSettings()
'Команда настройки соединения с источником данных
    'Для начала в диалоге запрашивается (новый) файл источника.
    Dim filePath As String
    If Not OpenFileDialog.FindExcelFile(filePath) Then  'Если не нажат Cancel и не было системной ошибки
        If InStr(1, filePath, ".xlsx") > 0 Then
            ......

Плюс ещё 80 строк кода в модуле OpenFileDialog.
Как можно загрузить данные в форум, кроме DropBox? Может, кому на e-mail?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Sceleton тестирование
СообщениеДобавлено: 24 май 2013, 06:53 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
можно прицепить к своему посту вложение!

я тут как-то поигрался с настройками внешнего вида форума, и теперь при ответе на чужое сообщение отсутствует блок "Добавить вложения"
Изображение
появляется только после отправки сообщения, если нажать кнопку "правка" Изображениедля редактирования отправленного поста
такой вариант работает пока нет времени искать в чем там дело :(


UPD кстати у нас есть раздел Склад полезных макросов я вот думаю, сообщения начиная с поста 2557 перенести туда когда у нас появится файл с кодом :)
ну или можешь сразу туда создать новую тему и прицепить там файл (с новыми темами это работает), а я тогда солью с новой темой это наше обсуждение OFFTOPIC к схеме щита и тестированию скелетона :)

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB