2013-05-14 88 views
1

我正在使用Visio 2013繪圖控件。當我將文件保存爲vsd時,它將拋出異常「未找到文件」。但文件保存在給定位置。 由於保存了文件,我忽略了這個異常,但是在重新加載同一個文件時它正在拋出「錯誤HRESULT E_FAIL已經從對COM組件的調用返回」異常。將文件保存爲vsd時未發現文件異常

如果我使用vsdx擴展而不是vsd,那麼一切正常。但我將文件另存爲vsd以實現向後兼容。

下面是我所做的一切代碼。我也試圖設置應用程序版本到2010年,但沒有任何工作。

private void btnSave_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      string fileName = "C:\\test\\mydrawing1.vsd"; 
      axDrawingControl1.Document.SaveAsEx(fileName, (short)VisOpenSaveArgs.visSaveAsWS); 
      //axDrawingControl1.Document.SaveAs(fileName); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 

    private void btnReload_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog op = new OpenFileDialog(); 
     op.ShowDialog(); 
     try 
     { 
      this.axDrawingControl1.Src = op.FileName; 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 

    private void btnOpen_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog op = new OpenFileDialog(); 
     op.ShowDialog(); 
     this.axDrawingControl1.Src = op.FileName; 
    } 

回答