2013-02-28 114 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