Tag: com

使excel在单个打印作业中打印多个工作表

我正在使用COM自动化打开一个xls文件并将其打印到虚拟PDF打印机。 Sheets sheets(m_Application.GetSheets()); sheets.PrintOut(CovOptional,CovOptional,CovOptional,CovOptional,COleVariant(_T("My PDF Printer")),CovOptional,CovOptional); 但是,如果文件有多个工作表,excel为每个工作表创build一个单独的打印作业,所以我得到了几个PDF文件而不是一个。 我如何强制它打印一个打印作业中的所有纸张?

尝试通过com / pywin32从Python运行Excel-Solver时出错

我试图通过python32在python中运行Excels Solver加载项: import win32com.client from win32com.client import constants as c app = Dispatch("Excel.Application") app.Visible = True app.Workbooks.Open(r'C:\path\to\testsolver.xlsm') app.Run("runsolver") ..但得到以下错误: "Cannot run the macro 'runsolver'. The macro may not be available in this workbook or all macros may be disabled"

System.Runtime.InteropServices.COMException(0x800A03EC)错误

我得到错误 System.Runtime.InteropServices.COMException(0x800A03EC) 对于我下面的C#代码,我试图在这里保存一个工作表, 但在本地环境中也是如此:Office 2010,Windows 2003 不在服务器上工作:Office 2003,Windows 2003 码: wBook = xCel.Workbooks.Open(ExcelPath); wSheet = (Excel.Worksheet)wBook.Worksheets.get_Item(1); wSheet.Copy(Type.Missing, Type.Missing); wSheet = (Excel.Worksheet)wBook.Sheets[1]; wSheet.SaveAs(ExcelCopyPath); 这里有什么问题? 保存时失败 在其他一些服务器,它将保存,但在macros中,我不想要的。 要跟踪错误图片

从Excel形状中获取形状types

我有一个Excel工作表,有一些combobox和checkbox。 我正在尝试阅读他们select的值。 我的代码工作正常,如果有checkboxcombobox和崩溃,因为它们中没有ListFillRange。 如何获取形状的形状types,以便我的函数GetControlValue可以返回所有控件types的值。 foreach (Excel.Shape s in ws.Shapes) { string value = GetControlValue(ws, s.Name); } private string GetControlValue(Excel.Worksheet ws, String shapeName) { var selValue = ws.Shapes.Item(shapeName).ControlFormat.Value; //the fill range var r = ws.Shapes.Item(shapeName).ControlFormat.ListFillRange; var oRng = ws.Range[r]; var selectedValue = oRng.get_Item(selValue).Value; return selectedValue; } 还有一个MsoShapeType枚举,但它总是返回msoFormControl

Matlab Actxserver:我怎样才能终止由matlab中的actxserver打开的进程

我想在MATLAB中打开和closures一个Excel文件。 我已经尝试了下面的代码 ,但它closures与actxserver进程失败 h.WorkBooks.Item(wbkname).Close; 这里是我的代码这个问题,我怎样才能终止的Excel文件? .Quit .delete 我也尝试通过VBA子模块来closuresexcel文件,但它给了我一个错误信息: fullFileName = [pwd '\KOSPI200_1월.xlsm']; excel = actxserver('Excel.Application'); file = excel.Workbooks.Open(fullFileName); excel.Run('jongho_bot_initial'); excel.Run('jongho_bot_loop',2);

从C#中控制Excel加载项(例如求解器)

我想知道是否有可能控制Excel的插件,特别是从C#解决。 我已经得到了这么多: var Solver = Excel.Application.AddIns["Solver Add-in"]; 我找不到任何文档,但是当在Microsoft的Visual Studiodebugging器中探索这个COM对象时,它显示了一个名为“SOLVER.XLAM”的参数,我想这意味着我在正确的轨道上。 虽然在这个COM对象中似乎没有任何有用的方法。 有没有人知道如何重写这个VBA代码工作在C#例如? SolverOk SetCell:="$G$39", MaxMinVal:=2, ValueOf:=0, ByChange:= _ "$H$5:$H$17,$H$19:$H$22,$H$24:$H$32,$H$34:$H$37", Engine:=1, EngineDesc:= _ "GRG Nonlinear" SolverSolve

Excel COM对象 – 处理工作簿closures事件

我使用QAxObject从Qt应用程序自动化Excel窗口。 当Excel窗口被用户closures时,我需要得到通知。 Excel工作簿COM对象有事件BeforeClose()但是处理它是不够的,因为在用户被提示保存更改之前触发它,所以用户将取消保存确认对话框中的closures操作。 所以,即使BeforeClose()被触发,Excel窗口也可能不被closures。 还有另一个事件Deactivate() ,当工作簿被禁用时会被触发。 当窗口实际closures以及用户切换到不同的工作簿时,会触发这种情况。 所以单靠处理也是不够的。 我正在使用的解决scheme是当BeforeClose()被激发时设置一个布尔variables接近true。 当Deactivate()事件处理程序随后被触发时,我认为只有在closing设置为true时才closing Excel。 这需要一件事,如果用户在保存确认对话框中取消closures操作,则设置为false。 我使用的方法是在BeforeClose()启动一个重复计时器,并在定时器中检查Excel COM对象的Visible属性。 当保存确认对话框等modal dialog打开时, Visible属性被评估为false。 所以我可以设置接近false ,只要Visible属性在计时器中计算为true 。 有没有人知道Excel工作簿实际closures时得到通知的更好方法?

从Python操作Excel

我想从Python操作一个Excel电子表格,例如打开它,执行一个embedded式的VBAmacros,或者在数据里面执行一些操作。 我可以select是否想在Windows或Linux上工作。 有包的方法来做到这一点(从这个答案 xlwings包),但我正在寻找更原生的东西来探索有什么select。 我认为做这个的一个方法是在Windows上的COM接口,xlwings自己包装。 我发现win32com python模块,但似乎有很less的操作特定对象的文档,什么方法和属性可用。 有人可以指点我一个很好的信息来源(书也行)? 或者,还有其他的select,如果是的话,我可以在哪里读到它们?

发生COMException – 未知名称。 (从HRESULTexception:0x80020006(DISP_E_UNKNOWNNAME))当试图修改现有的Excel文件

第三行返回COMException。 oBooks.GetType()调用… Dim oBooks As Microsoft.Office.Interop.Excel.Workbook = Me.fOpenXlsFile(strXLSFile) Dim ci As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US") oBooks.GetType().InvokeMember("Add", Reflection.BindingFlags.InvokeMethod, Nothing, oBooks, Nothing, ci) For i As Int32 = 0 To objLv.Items.Count – 1 oBooks.Styles.Item(i + 1).Interior.Color = objLv.Items(i).BackColor Next oBooks.Save()

Delphi控制Excel – 创build数据透视表和图表

delphi10 /西雅图,与Excel 2013.我正在写一个插件(使用AddIn Express)的Excel。 我需要做的一件事是创build一系列Excel数据透视表/数据透视图。 我在Excel中logging了macros,所以我有VBA代码来做我想要的。 我的挑战是将其移植到Delphi。 我的代码编译,当我通过它时,最后一行给我的错误..自动化对象不支持方法'SetSourceData'。 仅供参考 – XLApp是Excel应用程序的可变点。 procedure TMyTemplateForm.Pivot_TouchesByQuarter; var myPivotCache: OleVariant; myActive_WB : OleVariant; MyChart : OleVariant; ChartSourceRange : OleVariant; TabDestination : string; begin // Add the new Sheet XLApp.Connect; myActive_WB := XLApp.ActiveWorkbook; XLApp.Worksheets.Add(EmptyParam, EmptyParam,1, xlWorksheet, LOCALE_USER_DEFAULT ); // Get a handle to the new sheet and set the Sheet […]