Tag: ms office

用java确定microsoft office的版本

我写了一个程序,创build一组输出到Excel电子表格的数据。 我最初使用jexcel库将数据写入文件,但我想更新程序,以便它可以检查是否应该创build一个“.xls”或“.xlsx”文件,然后写入适当的文件types。 Apache POI似乎是写入“.xlsx”文件的最佳select,但是有关确定正确文件types的任何想法? 我可以让用户在命名文件时select,但是这对于用户来说似乎是额外的工作,并且我假定有用户不知道他们想要的文件types。 有任何想法吗? 另外,我假设操作系统是Windows和用户有一些版本的Excel,在其他情况下,我只是select一个默认的文件types。

Excel 2010 VBA创builddate

如何在Excel 2010中使用VBA获取当前工作簿文件的创builddate? 我浏览了ThisWorkBook的所有属性,我似乎没有find那里的东西。

使用Excel.run()在Office.js中链接承诺

我正在使用新的office.js。 我正在使用返回承诺的Excel.runfunction。 我有一个关于图书馆实施的承诺模式的问题。 样品都显示这种模式 Excel.run( function (ctx) { //set up something return ctx.sync().then (function () { //call another function somewhere to chain operations }); }).then ( function () { //do something else if you want }).catch (function (error) { handle errors }); 问题是Excel.run()中包含的ctx.sync()。then()按照提示的方式,不能按照promise规范链接promise,因为如果尝试处理那么Excel.run()之外的()所以,模式似乎是促进嵌套函数调用,这是承诺应该消除。 我想要做的是通过像这样链接几个呼叫: Excel.run( function (ctx) { return ctx.sync(); }).then ( function (ctx) { […]

在VBA中写入macros – excel用户closuresExcel之后

我需要在Excel VBA中编写一个macros,在excelclosures后终止在Windows任务中运行的进程。 我试着这样做事件workbook_BeforeClose Private Sub Workbook_BeforeClose(CANCEL As Boolean) Run "MacroCloseProcess" End Sub MacroCloseProcess是这样定义的 Private Sub MacroCloseProcess() Dim oWMT As Object, oProcess As Object Set oWMT = GetObject("winmgmts://") For Each oProcess In oWMT.InstancesOf("Win32_Process") If (oProcess.name) = pWcfHostApp Then If oProcess.Terminate() = 0 Then Exit Sub End If Next End Sub 这个工作,但是,如果在工作簿中进行了更改,Excel提供了用户选项“你想保存你对'Sheet1.xlsx'所做的更改吗?保存,不保存,取消 如果用户单击取消,Excel不会退出(按devise),但是,该进程已被终止,因为它在“BeforeClose”事件中。 我怎样才能写这个代码,以便它在Excelclosures后打?

Excel Visual Studiodevise时间适配器加载项错误

我正在尝试使用VSTO打开Excel工作簿2003。 但是我再次遇到错误 “无法创build项目,因为应用程序加载项工作不正常,可能已被禁用。若要检查Microsoft Office应用程序中禁用的项目,请打开帮助菜单,单击关于Microsoft Office Word或关于Microsoft Office Excel,然后单击“禁用的项目”如果出现“Word Visual Studiodevise时间适配器外接程序”或“Excel Visual Studiodevise时间适配器外接程序”,请select该项并单击启用如果不是,请重新安装或修复Visual Studio Tools办公室。” 有人可以帮忙吗?

如何访问C#中已经打开的Excel文件?

我有一个Excel工作簿通过在Windows资源pipe理器中双击打开,但无法在代码中访问它 Excel.Application xlApp = (Application)Marshal.GetActiveObject("Excel.Application"); Excel.Workbooks xlBooks = xlApp.Workbooks; xlBooks.Count等于0,为什么它不是引用我打开的工作簿? 编辑 以下是各种情况和发生的情况: 情况1:如果文件尚未打开 代码打开工作簿,我很高兴。 scheme2:如果文件最初是从代码打开的,我closures并重新打开该应用程序 代码引用文件就好了xlBooks.Count等于1,我很高兴。 场景3 :如果文件最初不是从代码打开的,而是通过在浏览器中双击它 代码打开文件的另一个实例xlBooks.Count等于0, 我很愤怒! 这是现在的整个代码 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using Microsoft.Office.Interop.Excel; public class ExcelService : IExcelService { const string _filePath = @"C:\Somewhere"; const string _fileName = @"TestFile.xlsb"; string _fileNameAndPath = Path.Combine(_filePath, _fileName); Application […]

Excel在* .xslx中发现不可读的内容

我正在从代码生成一个Excel模板。 当我运行该部分来创build我的工作簿时,在代码中没有出现错误,但是当我打开Excel文档时,出现错误,指示文件不可读。 我可以点击打开它,我收到以下消息 删除logging:从/xl/workbook.xml部分(工作簿)的工作表属性 有什么想法可能是我的代码错了吗? public void CreatePackage() { using (SpreadsheetDocument package = SpreadsheetDocument.Create(FilePath, SpreadsheetDocumentType.Workbook)) { CreateParts(package); } } private void CreateParts(SpreadsheetDocument document) { ExcelWorkBook excelworkbook = new ExcelWorkBook(); ExcelSheetHelper excelworksheet = new ExcelSheetHelper(); ExcelSharedStringsTable excelsharedtable = new ExcelSharedStringsTable(); ExcelWorkSheetPartBuilder excelworksheetbuilder = new ExcelWorkSheetPartBuilder(); ExtendedFilePropertiesPart extendedFilePropertiesPart1 = document.AddNewPart<ExtendedFilePropertiesPart>("rId3"); ExcelWorkSheetPartBuilder.GenerateExtendedFilePropertiesPart1Content(extendedFilePropertiesPart1); WorkbookPart workbookPart1 = document.AddWorkbookPart(); excelworkbook.GenerateWorkbookPartContent(workbookPart1); WorkbookStylesPart […]

在一次调用中从Excel中检索多个单元格属性?

我需要检索几千个单元格的背景属性( Range.Interior.Color )。 由于COM-Interop的限制,单独循环访问每个单元非常慢。 是否有可能从单个调用中包含多个单元格的Range中检索不是.Text , .Value或.Value2单元格属性?

在VBA编辑器中的Unicode语言支持

我在Excel 2003中有一个VBA项目。 这个VBA项目是用俄文编写的,所以所有的评论和消息在我的英文操作系统(WindowsXP)上是不可读的。 所以俄罗斯机器上的代码看起来像(OK): Sub Select_I() 'Выделяет по текущей ячейке "построчный" диапазон для ввода данных по объекту 成为我的(不好) Sub Select_I() 'Âûäåëÿåò ïî òåêóùåé ÿ÷åéêå "ïîñòðî÷íûé" äèàïàçîí äëÿ ââîäà äàííûõ ïî îáúåêòó 有没有办法“向”VBA编辑器“指出”使用什么编码?

如何从Excel中的公式调用VSTO函数?

我希望能够在excel工作表中调用由单元格中的VSTO插件显示的函数。 更具体地说,如果我有一个返回“bar”的VSTO函数Foo(),我希望能够在A1中写入= Foo(),计算时计算为“bar”。 这可能吗? 我需要采取哪些关键步骤? 能够利用托pipe代码和VS08 IDE进行excel开发的前景非常吸引人。 我认为VSTO会让我轻松做到这一点,但我不能确定。 我误解了这里的build筑吗? 该文件是有点粗制滥造。