Форум пользователей 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/ |