在下面的代码中,第二行抛出一个错误,内容为“Exception from HRESULT: 0x800A03EC”。我怀疑我得到的 FullName 为空。谁能告诉我我做错了什么?
Foo.DataClasses1DataContext db = new Foo.DataClasses1DataContext();
string ThisDocument = Globals.ThisAddIn.Application.ThisWorkbook.FullName;
byte[] inputBuffer = System.IO.File.ReadAllBytes(ThisDocument);
Foo.RFP_Document rfpDocument = new MediaDesk.RFP_Document();
rfpDocument.DocumentName = "Foobar";
rfpDocument.DocumentFile = new System.Data.Linq.Binary(inputBuffer);
db.RFP_Documents.InsertOnSubmit(rfpDocument);
db.SubmitChanges();
就上下文而言,这是一个用 C# 编写的面向 .NET 4.0 的 Excel 2010 加载项。该代码的目的是将文档保存到数据库中。
最佳答案
使用 Globals.ThisAddIn.Application.ActiveWorkbook.FullName
。来自 MSDN Globals.ThisAddIn.Application.ThisWorkBook
返回运行“宏”的工作簿。由于您没有宏,这将引发异常。
关于c# - 如何使用 C# 和 Office Interop 获取 Office 文档的完整文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675992/