首页 文章

开始VSTO开发

提问于
浏览
43

我对VSTO开发的必要工具很困惑 . 具体来说,我想以编程方式操作Excel 2003/2007文档 . 我之前做了很多VBA,如果你想找到任何答案 .

关于VSTO我几乎没有问题:

  • 我可以使用Visual Studio 2008 Express Edition C#/ C吗?

  • 我是否需要安装.NET框架?

  • 生成的VSTO程序是否需要在同一系统中安装Office的副本才能运行?

我们将非常感谢与相关工具/插件/ IDE的直接链接 .

注意:我对VSTO和.NET完全不熟悉,但却是Office高级用户 . 我有COM编程经验 .

3 回答

  • 64

    是的,它会让人感到困惑,特别是考虑到跳过级别的命名约定等 . 基本上,你需要:

    • Visual Studio的完整版(不是Express)和您要定位的.NET版本 .

    • VSTO运行时间之一(VSTO 2003,VSTO 2005,VSTO 2005 SE,VSTO 2008,VSTO 2010) . 对于你的要求,VSTO 2005 SE可能是你最好的选择 .

    • 在分发您的应用时,您的目标是'll need more, like the PIAs and the .NET version you' . 对于VSTO 2010,您将不会自动与您的应用程序一起打包使用't need the PIAs (just what you' .

    一些提示:

    • 如果你在很大程度上使用.NET,那么从Office内部的VBE到VSTO应该是一个平稳的举动 .

    • 任何给定程序(Excel,PowerPoint等)的对象模型的VSTO版本可能还有一些与对象模型的VBA版本不同/更好的做法 . 例如,VSTO 2008中Word的Bookmark控件与通过VBA访问的Word的Bookmark控件不同 .

    • 分发您的应用程序可能会很痛苦 . 这就是为什么Visual Studio 2010的VSTO不要求您在程序包中包含完整的互操作(PIA)文件的原因 .

    • 使用相同的解决方案定位不同版本的Office在VSTO 2010之前尚未得到正式支持 . 有些人已经讨论过这个问题,但是你不会得到MSFT的大力支持 .

    有一些网站你应该看看:

    最后,为了保存最后的最好,这是我刚开始时读到的那本书,它非常有帮助:VSTO for Mere Mortals(TM): A VBA Developer's Guide to Microsoft Office Development Using Visual Studio 2005 Tools for Office

  • 4

    SpreadsheetGear for .NET是适用于.NET的Excel兼容电子表格组件,适用于Visual Studio Express版本,需要.NET 2.0或更高版本,不需要安装Office或Excel,并允许免版税分发给无限数量的客户端和/或服务器计算机 .

    你可以看到实时样本here并下载免费试用here .

    免责声明:我拥有SpreadsheetGear LLC

  • 0

    您可以使用此Excel .NET component在Express Edition中创建Excel . 它不需要VSTO,ADO或MS Excel自动化 .

    Excel Jetcell .NET组件允许读取写入Excel电子表格 . 在这里你可以找到很多Excel VB.NET and C# examples . 例如,请参阅VB.NET代码以从数组创建excel电子表格:

    Imports DTG.Spreadsheet
    ...
    Dim WBook = New ExcelWorkbook()
    WBook.Worksheets.Add("ArrayValues")
    For i As Short = 0 To 10
       For j As Short = 0 To 10
          WBook.Worksheets(0).Cells[i,j].Value = arr(i,j)
          j = j + 1
       Next j
       i = i + 1
    Next i
    WBook.WriteXLSX("ExcelSpreadsheet.xlsx")
    

相关问题