Сохранить диаграмму visio 2016 в формате vsd программно - PullRequest
0 голосов
/ 01 мая 2020

Я переносу в Visio 2016 элемент управления рисованием из Visio 2010. Когда я сохраняю новый файл как .vsd вне основного приложения Visio, это вызывает исключение. Однако файл сохраняется в указанном месте. Я сохраняю файл как .vsd для обратной совместимости. Это может повлиять на перезагрузку / открытие того же нового файла, и это вызывает исключение. Приведенный ниже фрагмент хорошо работает с Visio 2010.

BOOL Doc::SaveAs(vbPath)
{
    success = TRUE;

    if (!SUCCEEDED(CVisioDocument::SaveAsEx(vbPath, visSaveAsWS)))   //SaveAsEx return 0
    {
        success = FALSE;
    }

    // Now do a save to get the drawing on the Most Recently Used list
    short saveRc=0;
    if (!SUCCEEDED(CVisioDocument::Save(&saveRc)))  //Get exception here in Save method
        ASSERT(0);

    return success;
}

CVisioDocument :: SaveAsEx (vbPath, visSaveAsWS) возвращает «0». Это означает, что успешно сохранен новый документ. Но после того, как я попробую, CVisioDocument :: Save (& saveR c) выдает исключение, потому что, пока документ не был сохранен, метод Save генерирует ошибку. С другой стороны, я могу сохранить новый документ в основном приложении Visio без каких-либо исключений. Этот файл открывается в основном приложении Visio.

Итак, можете ли вы помочь с тем, как мне избавиться от вышеуказанной проблемы?

Я обнаружил, что у кого-то есть аналогичная проблема в Visio. 2013, http://visguy.com/vgforum/index.php?topic=4819.0

...