Форум пользователей Visio
http://visio.getbb.ru/

Конвертация файлов vsdx/vsdm для открытия в Visio2010
http://visio.getbb.ru/viewtopic.php?f=15&t=957
Страница 1 из 1

Автор:  Surrogate [ 03 июн 2016, 13:22 ]
Заголовок сообщения:  Конвертация файлов vsdx/vsdm для открытия в Visio2010

Я пользуюсь Visio 2010
Tumanov в сообщении #4480 писал(а):
конвертер я установил. но почему-то у большинства моих коллег он работает корректно, а у меня нет (см. тему Конвертер файлов *.vsdx)!
несколько раз обновлял конвертер и внезапно увидел слова о возможности работы конвертера с командной строкой !
Изображение
Robink в скайпе дал мне наводку на пример работы с командной строкой в VBA. Огромное ему за это спасибо !!!
Robink в сообщении #6763 писал(а):
Код:
Dim str1 As String       
str1 = "C:\gs\gs9.16\bin\gswin32c.exe "   
str1 = str1 & "-dNODISPLAY "   
str1 = str1 & "-q "   
str1 = str1 & "-sFile=" & Path & " "   
str1 = str1 & "-dDumpMediaSizes "   
str1 = str1 & "C:\gs\gs9.16\toolbin\pdf_info.ps"       
Dim objShell As Object   
Dim objWshScriptExec As Object   
Dim objStdOut As Object

собственно сам код
Код:
Sub ConvertVSDX()
Dim va As Application, vd As Document
Dim ofn As String ' старое имя файла (vsdx/vsdm)
Dim nfn As String ' новое имя файла (vsd)
Dim str1 As String ' команда в командной строке
Dim ext As String
ofn = InputBox("Укажите путь к файлу vsdx(vsdm)")
ext = Right(ofn, 4)
If ext = "vsdx" Or ext = "vsdm" Then
nfn = Left(ofn, Len(ofn) - 1) ' отбрасываем последний символ
str1 = "c:\Program Files (x86)\Microsoft Office\Office15\VISCONV.EXE "
' в моем случае был такой путь. замените на ваш вариант при необходимости
str1 = str1 & ofn & " " & nfn ' формирование команды
Set objShell = CreateObject("WScript.Shell") ' создание объекта shell
Set objWshScriptExec = objShell.Exec(str1) ' выполнение команды
Set objStdOut = objWshScriptExec.StdOut ' стандартный вывод
Set va = GetObject(, "Visio.Application") ' получаем приложение
va.Visible = True
Set vd = va.Documents.OpenEx(nfn, visOpenRW)  ' открытие конвертированного файла
MsgBox "Документ открыт " & nfn
Else
If MsgBox("Повторить ?", vbYesNo, "Расширение файла отличается от vsdx/vsdm!") = vbYes Then
' пользователю выводится сообщение, что расширение отличается от vsdx/vsdm
' при ответе Да. перейти к началу кода
ConvertVSDX
Else
' если пользовател не желает повторять, выход и прощание
End If
End If
MsgBox "TheEnd!"
End Sub

Автор:  Страждущий [ 13 ноя 2016, 17:58 ]
Заголовок сообщения:  Re: Конвертация файлов vsdx/vsdm для открытия в Visio2010

Подскажите, пожалуйста, работает ли на данный момент конвертация из cmd windows? Второй день бьюсь, но этот номер 'visconv.exe <vsdx> <vsd>' из командной строки у меня не прокатывает. Прописываю файл-источник <vsdx>, файл для сохранения <vsd>. Команда отрабатывает за доли секунды и ничего не происходит.

Если открываю этот файл в Visio2010 (compatible pack установлен), то файл vsdx открывается без проблем.

Буду рад любому совету.
Спасибо.

Автор:  Surrogate [ 13 ноя 2016, 18:40 ]
Заголовок сообщения:  Re: Конвертация файлов vsdx/vsdm для открытия в Visio2010

не далее как позавчера (11.11.2016) я столкнулся с тем, что конвертер на работает
Surrogate в сообщении #10196 писал(а):
и конвертер снова перестал работать у меня
Tumanov в сообщении #4480 писал(а):
Microsoft Visio Compatibility Pack
Изображение
Страждущий писал(а):
открываю этот файл в Visio2010 (compatible pack установлен), то файл vsdx открывается без проблем.
а зачем тогда эта морока ?
Страждущий писал(а):
работает ли на данный момент конвертация из cmd windows?

Автор:  Страждущий [ 14 ноя 2016, 01:06 ]
Заголовок сообщения:  Re: Конвертация файлов vsdx/vsdm для открытия в Visio2010

Дело в том, что у меня порядка полутысячи файлов vsdx раскидано в директории и ее вложенных папках вперемешку с другими файлами. Изначально показалось нерационально лазить по папкам и каждый файл перегонять вручную в vsd (теперь-то после двухдневной мороки уж не знаю, где рационально, а где нет). Поэтому я планировал написать скриптик, к примеру, на python обхода дерева каталогов с поиском всех файлов vsdx и для каждого вызывать к выполнению внешнюю программу 'visconv.exe <vsdx> <vsd>'

Но, как я понял, этот капризный конвертер не работает именно сейчас, а до этого через командную строку обрабатывал...
Хм, неужели придется заниматься 'терпеливой' работой

Автор:  Гость [ 14 ноя 2016, 01:12 ]
Заголовок сообщения:  Re: Конвертация файлов vsdx/vsdm для открытия в Visio2010

И да, когда пытаюсь запустить visconv.exe непосредственно кликаньем мышки, тоже ничего не происходит
Мрак

Автор:  Surrogate [ 14 ноя 2016, 07:41 ]
Заголовок сообщения:  Re: Конвертация файлов vsdx/vsdm для открытия в Visio2010

Страждущий писал(а):
неужели придется заниматься 'терпеливой' работой
теперь ясно!
конвертер вещь сама по себе капризная! у 95% моих коллег когда он установлен визио открывает vsdx, мне 'случайно" удалось найти упоминание о запуске конвертера из командной строки.
подозреваю, что не работает из-за того, что какие-то библиотеки на компе установлены с которыми конвертер конфликтует! возможно сейчас произошло обновление каких-то виндовских/офисных компонентов, которые и убили работоспособность конвертера Изображение. наверно можно попробовать откатывать обновления системы и смотреть оживет ли конвертер. хорошо если это произошло не так давно, я сам давно им не пользовался. трудно будет теперь отловить этот момент Изображение.
Теперь о грустном: скорее всего M$FT скорее всего не будет конвертер пытаться починить, они и раньше не пытались это сделать!
wiki в статье Microsoft Office писал(а):
Версии продукта и их поддержка

Для Office 2007 и будущих версий MS Office — продолжительность базовой поддержки 5 лет после выпуска продукта или 2 года после выпуска следующей версии продукта (что наступит позднее), расширенная поддержка будет доступна в течение 5 лет после окончания срока базовой поддержки.
Office 2010 — версия офисного пакета, базовая поддержка продукта прекращена 15 июля 2015 года.
так что сомневаюсь, что кто-то будет теперь заниматься конвертером со стороны разработчика.
как вариант найти в твоей конторе комп, на который давно не ставились обновления и попробовать конвертер на нем. если еще работает, то погонять скрипт на нем

Автор:  Гость [ 14 ноя 2016, 11:47 ]
Заголовок сообщения:  Re: Конвертация файлов vsdx/vsdm для открытия в Visio2010

Спасибо. Попробую покопать в этом направлении.

Автор:  Tumanov [ 14 ноя 2016, 12:31 ]
Заголовок сообщения:  Re: Конвертация файлов vsdx/vsdm для открытия в Visio2010

А вот сдается мне, что конвертор может быть достаточно примитивен...
Особенно если не ставить задачу "сконвертировать все". Ведь иногда достаточно просто иметь возможность посмотреть файл или хотя бы спасти изображение и текст. И не так важно, что где-то будет применена не та тема или что-то в этом роде.
Прямо захотелось сделать свой конвертор :)

Автор:  Surrogate [ 14 ноя 2016, 12:39 ]
Заголовок сообщения:  Re: Конвертация файлов vsdx/vsdm для открытия в Visio2010

Tumanov писал(а):
Прямо захотелось сделать свой конвертор
годный план ! это будет спасением для множества ретроградов Изображение
Дополнено позднее: на всякий случай ссылка на описание файлового формата [MS-VSDX]: Visio Graphics Service VSDX File Format
Sustainability of Digital Formats: Visio VSDX Drawing File Format
Visio 2010: XML Schema Definition (XSD) Files
Welcome to the Visio 2010 XML Schema Reference

Автор:  Surrogate [ 11 май 2017, 16:41 ]
Заголовок сообщения:  Re: Конвертация файлов vsdx/vsdm для открытия в Visio2010

Страждущий писал(а):
Подскажите, пожалуйста, работает ли на данный момент конвертация из cmd windows?
конечно это дичайший костыль, но конвертация таки работает !
на одном из форумов разработчики из M$FT просили пользователя прислать дамп полученный таким образом
Цитата:
If you have Visual Studio, you can attach it to the running instance of Visio. When the crash occur, it will break into Visual Studio. You can save the dump file through Debug->Save Dump As.
решил и я попробовать:
1. запускаю командную строку
Изображение
2. вылетает сообщение об ошибке. выбираю пункт отладка
Изображение
3. Так как у меня на компе установлены две версии (2010 и 2015) MS Visual Studio, пришлось ответить
на вопрос в какой из версий будем отлаживать.
Изображение
В версии 2010 у меня не завелось. В 2015 сработало
4. Вылетело предупреждение об исключении
Изображение
я нажал прервать и о чудо, в папке появился сконвертированный файл !!!
не уверен что удастся получить пакетную обработку, как того желал
Страждущий писал(а):
Дело в том, что у меня порядка полутысячи файлов vsdx раскидано в директории и ее вложенных папках вперемешку с другими файлами. Изначально показалось нерационально лазить по папкам и каждый файл перегонять вручную в vsd (теперь-то после двухдневной мороки уж не знаю, где рационально, а где нет). Поэтому я планировал написать скриптик, к примеру, на python обхода дерева каталогов с поиском всех файлов vsdx и для каждого вызывать к выполнению внешнюю программу 'visconv.exe <vsdx> <vsd>'
я протестил с 5 документами все вроде работает.
может быть полезно для тех кто сидит на Visio 2010, имеет VS, но не хочет ставить Visio 2013/2016 на VirtualBox для конвертации файлов vsdx/vsdm Изображение

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/