我有几年前在Visual Studio 2008中创建的Excel加载项目.它已经进行了一些更改,因此我已升级到Visual Studio 2010(我能够使用的唯一IDE).不确定这是否导致问题,但它是背景信息.
当我检查代码并编译它时,我收到错误,"错误1无法在证书存储中找到清单签名证书."
谁能告诉我这意味着什么以及如何解决它?
我的VSTO Outlook插件突然停止在一台客户机器上工作(它没有加载,没有错误消息)而且我遇到了故障排除问题.该机器是Windows 7 x86,Outlook 2007.该加载项是使用Visual Studio 2008编写的,并使用VSTO 2005和2003 PIA(因为我们还需要支持Outlook 2003).它在其他机器上完美运行.
这是我试图获得有用的故障排除输出:
VSTO_SUPPRESSDISPLAYALERTS环境变量(设置为0).没有.加载项不会在没有给出任何原因指示的情况下加载.我还检查了"通常的嫌疑人"(CAS政策,安装的PIA,注册表中的LoadBehavior,重新安装VSTO和加载项).
其他一些观察:
LoadBehavior在注册表中停留在3.Trace.WriteLine代码的最顶部(ThisAddIn_Startup处理程序中的第一行)有一条消息,未到达(我使用DebugView检查).因此,不加载的原因不是我的加载项中的例外,而是VSTO加载加载项或Outlook加载VSTO失败.而不是更随机的调试("试试这个......","试试......"),我真的想强迫Outlook和/或VSTO告诉我什么是错的,即给我一个有用的错误信息而不是只是无所事事试图启用加载项时.有任何想法吗?
我想知道我可以做些什么来提高Excel自动化的性能,因为如果你在工作表中有很多事情,它可能会很慢......
这里有一些我发现自己:
ExcelApp.ScreenUpdating = false - 关闭重绘屏幕
ExcelApp.Calculation = Excel.XlCalculation.xlCalculationManual - 关闭计算引擎,以便Excel在单元格值更改时不会自动重新计算(在完成后将其重新打开)
减少对Worksheet.Cells.Item(row, col)和的调用Worksheet.Range- 我不得不轮询数百个单元格以找到我需要的单元格.实现一些单元格位置的缓存,将执行时间从大约40秒减少到大约5秒.
什么样的互操作会对性能造成严重影响,应该避免?你还能做些什么来避免不必要的处理?
我试图将一些VBA代码转换为C#.我是C#的新手.目前我正在尝试从文件夹中打开Excel文件,如果它不存在则创建它.我正在尝试以下内容.我怎样才能使它工作?
Excel.Application objexcel;
Excel.Workbook wbexcel;
bool wbexists;
Excel.Worksheet objsht;
Excel.Range objrange;
objexcel = new Excel.Application();
if (Directory("C:\\csharp\\error report1.xls") = "")
{
wbexcel.NewSheet();
}
else
{
wbexcel.Open("C:\\csharp\\error report1.xls");
objsht = ("sheet1");
}
objsht.Activate();
Run Code Online (Sandbox Code Playgroud) 我使用强名称密钥文件使用我的VSTO 4.0 word加载项对程序集进行了签名,.snk并尝试取消选中"签署ClickOnce清单",但在重建后再次出现.之后,我试图删除线的ClickOnce体现在.csproj,.pfx明显出现以后每隔重建.
有没有人知道永久删除临时ClickOnce清单的解决方案?
我在2006年使用MS VS 2005开发了一个处理excel表的系统.现在,我不能在MS VS 2012中使用相同的参考.
var app = new Microsoft.Office.Interop.Excel.Application();
Workbooks wbs = app.Workbooks;
Run Code Online (Sandbox Code Playgroud) 有没有人有单位测试Excel VBA代码的经验?我想尽可能轻松地将单元测试引入一些传统的Excel VBA代码中.我的一个想法是使用VSTO从Excel工作簿中调用代码.我想知道其他人是否为了单元测试Excel代码以及他们可能用于单元测试Excel VBA的任何其他方法而尝试过此操作.
对于单元测试Excel VBA代码的任何可用框架和/或技巧,我将不胜感激.
Visual Studio 2012似乎不支持Office 2007(它只有Office 2010的项目模板).如果我想创建一个与Office 2007兼容的加载项,我是否需要使用Visual Studio 2010,还是有一种简单的方法来使用VS 2012?
如果是一个办法做到这一点在VS 2012,是否有任何限制/优势等,这样做?
名称:来自:file:/// D:/Samples/TestUpdatedVersion/bin/Debug/TestUpdatedVersion.vsto
无法安装自定义,因为当前安装了另一个版本,无法从此位置升级.要安装此版本的自定义,请首先使用"添加或删除程序"卸载此程序:TestUpdatedVersion.然后从以下位置安装新的自定义:file:/// D:/Samples/TestUpdatedVersion/bin/Debug/TestUpdatedVersion.vsto
**************异常文本**************Microsoft.VisualStudio.Tools.Applications.Deployment.AddInAlreadyInstalledException:无法安装自定义,因为另一个版本当前已安装,无法从此位置升级.要安装此版本的自定义,请首先使用"添加或删除程序"卸载此程序:TestUpdatedVersion.然后从以下位置安装新的自定义:file:/// D:/Samples/TestUpdatedVersion/bin/Debug/TestUpdatedVersion.vsto at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.VerifySolutionCodebaseIsUnchanged(Uri uri,String subscriptionId,在Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.InstallAddIn()中的Boolean previousInstalled)
vsto ×10
.net ×4
excel ×4
c# ×3
ms-office ×2
clickonce ×1
excel-2007 ×1
excel-vba ×1
interop ×1
office-2007 ×1
performance ×1
reference ×1
unit-testing ×1
vba ×1