2013-02-28 111 views
2

我對此很新,我想在將一個方法轉換爲一個庫類以用作dll時有所幫助。我的問題是我如何處理我用來從用戶傳入數據的文本框值。在c中創建一個庫類#

這是我的方法,我使用,並希望能有一個可用的庫類:當你把它移動到你要去想這些價值觀注入到庫

public Microsoft.Office.Interop.Excel.Workbook excelWorkbook { get; set; } 
    void ExcelToPdf(string convertFilePath) 
    { 
     Microsoft.Office.Interop.Excel.Application appWord = new Microsoft.Office.Interop.Excel.Application(); 
     excelWorkbook = appWord.Workbooks.Open(DocumentUNCPath.Text); 

     excelWorkbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, convertFilePath); 
     excelWorkbook.Close(); 
     appWord.Quit(); 
    } 

回答

2

所以

public Microsoft.Office.Interop.Excel.Workbook excelWorkbook { get; set; } 

void ExcelToPdf(string convertFilePath, string documentUncPath) 
{ 
    Microsoft.Office.Interop.Excel.Application appWord = new Microsoft.Office.Interop.Excel.Application(); 
    excelWorkbook = appWord.Workbooks.Open(documentUncPath); // WAS DocumentUNCPath.Text 

    excelWorkbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, convertFilePath); 
    excelWorkbook.Close(); 
    appWord.Quit(); 
} 

,所以當你調用這個方法,你會在DocumentUNCPath.Text表單中的值傳遞:方法。

+0

感謝這有助於很多。那麼,如果我有錯誤消息「無效輸入數字,請重新輸入」類型的信息 - 我是否也將它們包括在圖書館課程中? – BB987 2013-02-28 19:19:48

+0

是的,你可以把這種類型的消息放入你的庫中。所以,你的圖書館功能可以給用戶友好的異常消息,如果傳遞值是錯誤的。 – Sachin 2013-02-28 19:44:41

1

如果我正確理解你的問題。

在Visual Studio中選擇File - New - Project - Class Library。 複製並粘貼代碼到類,應該是這個樣子:

namespace ClassLibrary1 
{ 
    public class Class1 
    { 
     public Microsoft.Office.Interop.Excel.Workbook excelWorkbook { get; set; } 
     void ExcelToPdf(string convertFilePath) 
     { 
      Microsoft.Office.Interop.Excel.Application appWord = new Microsoft.Office.Interop.Excel.Application(); 
      excelWorkbook = appWord.Workbooks.Open(DocumentUNCPath.Text); 

      excelWorkbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, convertFilePath); 
      excelWorkbook.Close(); 
      appWord.Quit(); 
     } 
    } 
} 

生成應用程序,你會發現在輸出bin文件夾您的DLL。

+0

我不認爲我應該在那裏有DocumentUNCPath.Text,因爲在不同的程序中使用dll可能有不同的文本名稱。但謝謝澄清這個想法。 – BB987 2013-02-28 19:26:18