Tag: com

Powershell | COM对象Excel | 打开前景?

只有在没有configuration邮件帐户时才会出现问题 – 仍然可以获得解决scheme 我需要一些帮助。 我已经发现了这个小脚本的一个非常奇怪的习惯。 我完全不知道为什么会发生这种情况。 如果我运行下面的代码, Microsoft Outlook启动。 只要我不终止 Outlook进程脚本被卡住了! 为什么这个代码会启动Outlook? 我搞不清楚了! $Path = "C:\test.xls" #Excelvar: $Row = [int] 2 $Excel = New-Object -ComObject Excel.Application $Excel.Visible = $true $Excel.DisplayAlerts = $false #Sheets: $ADUsers = "Active Directory Users" $Groups = "Create Groups" $UsertoGroup = "User to groups" $DNS = "DNS" #$Worksheet = $Workbook.Sheets.Add() $checkxls = […]

Excel vsto结束编辑模式

在一个Excel的COM插件,我需要访问pageSetup属性。 但是,如果在Excel中编辑模式是活跃的,我得到一个exception。 我可以用这个代码检查编辑模式是否有效: CommandBarControl oNewMenu = excelApp.CommandBars["Worksheet Menu Bar"].FindControl( 1, //the type of item to look for 18, //the item to look for refmissing, //the tag property (in this case missing) refmissing, //the visible property (in this case missing) true); //we want to look for it recursively so the last argument should be true. if […]

VBA密码提示closuresExcel时

我有一个Workbook_Open代码加载用户窗体的工作表。 closures窗体和工作簿后,Excel提示我inputVBA项目密码。 我在这个页面上发现了关于这个问题的一些信息: http://support.microsoft.com/kb/280454 http://social.msdn.microsoft.com/Forums/office/en-US/8cb79e54-26ae-487c-8945-69b84b2e4eeb/com-addins-and-vba-password-prompt-bug 但是,这似乎是COM加载项,我有一些问题。 问题是,加载项不是我的,我不能更改或禁用它们。 有没有其他解决scheme?

debuggingCOM服务器连接到VBA / Excel

我遵循了为Python的comtypes模块提供的文档( http://pythonhosted.org/comtypes/server.html ),并构build了一个简单的COM服务器。 这似乎是正常工作。 我可以看到typelib和接口被注册(使用Oleviewer),并从一个Python脚本我可以调用(单)方法,增加了两个整数。 但是,我无法使其与Excel(Office 2007,在Win7上运行)工作。 下面的简单函数不起作用(调用MyMethod时停止执行) Function test(a, b) Dim x As New MyTypeLib.MyObject ab = x.MyMethod(a, b) Debug.Print "d" & CStr(ab) test = ab End Function 有没有什么办法来debugging呢? 更多评论 隧道尽头有灯光。 build议使用VBScript是有帮助的。 以下简短的脚本不起作用(提供COM服务器工作的独立确认)。 Dim x,ab Set x = CreateObject("MyTypeLib.MyObject") ab = x.MyMethod(1, 2) MsgBox CStr(ab) 但是,VBScript正在使用后期绑定调用服务器,并试图让早期绑定工作。 所以,我改变了我的Excel VBAfunction,以使用后期绑定和预期的事情工作,但他们不。 这里是修改后的VBA: Function test(a, b) Dim x […]

创build数据透视表和图表在用于Autohotkey的Excel COM中

我试图创build一个数据透视表,然后从ahk的透视图embedded到电子邮件。 我是一个小菜鸟,所以请原谅我的代码质量。 我无法让我的数据透视表正确设置,并且无法为我的生活出现一个图表。 我已经提到了我一直在工作的post,以及在这篇文章底部的最终结果。 我的数据是两列,与(可以使它没有)时间的标题,并警告我希望能够创build一个图表,显示数量和警告的types随着时间的推移,从那里得到一个对象的句柄和把它放在一个Outlook电子邮件,甚至只是一个副本粘贴会为我工作。 请告诉如何做到这一点,我想我是如此接近。 编辑我更新了下面的代码,得到它的点(马虎确定)图表创build,我唯一缺less的东西是向数据透视表中的图例字段添加“警告”,并将Axis(目录)从“时间“到”小时“,这将按小时分组,而不是单独的时间戳。 如果我手动这样做,我似乎得到了我想要的结果。 之后,我只想删除图表标题,然后将图表分配给要embedded的对象,或者将其放到剪贴板上。 感谢您的任何帮助。 f1::Reload Pause::Pause f2::ListVars Pause !`:: function() return function() { when:=[] what:=[] Nothing:="Nothing to report, have a wonderful day." TMP:="" RMRKS:="" Date1:="" Date2:="" EMOUT:="" EMIN := Clipboard ; Email text var Loop, Parse, EMIN,`n,`r ; parse email by line { tmp := StrSplit(A_LoopField, ";") ; for […]

如何在F#中创build一个COM可见的dll

我的目标是创build一个COM可见types,可以导入到VBA(Excel)并在那里消耗。 Excel对象浏览器可以看到我的类,但没有任何类的公共方法,并尝试调用公共方法失败。 我的F#代码: namespace DotNetLibrary type public Class1() = member public this.DotNetMethod (x:string) = "Hello" + x 在AssemblyInfo.fs中我也修改为[<assembly: ComVisible(true)>] 我用/codebase /tlb开关运行regasm并生成一个.tlb文件。 VBA在引用浏览器中find我的库,但没有select上面Class1定义的DotNetMethod 。 我试图按照C#指导这个话题,到达目前我所处的位置,但是我没有到达终点。

该应用程序称为一个接口,编组为一个不同的线程

我正在写一个与Excel通信的delphi应用程序。 我注意到的一件事是,如果我在Excel工作簿对象上调用Save方法,它可能会挂起,因为Excel有一个打开的用户对话框。 我正在使用后期绑定。 我想我的应用程序能够注意到,当保存需要几秒钟,然后采取一些行动,如显示一个对话框,告诉这是发生了什么。 我觉得这很容易。 所有我需要做的是创build一个线程,调用保存并让该线程调用Excel的保存例程。 如果时间太长,我可以采取一些行动。 procedure TOfficeConnect.Save; var Thread:TOfficeHangThread; begin // spin off as thread so we can control timeout Thread:=TOfficeSaveThread.Create(m_vExcelWorkbook); if WaitForSingleObject(Thread.Handle, 5 {s} * 1000 {ms/s})=WAIT_TIMEOUT then begin Thread.FreeOnTerminate:=true; raise Exception.Create(_('The Office spreadsheet program seems to be busy.')); end; Thread.Free; end; TOfficeSaveThread = class(TThread) private { Private declarations } m_vExcelWorkbook:variant; protected […]

Asssembly.LoadFrom通过Excel 2007调用失败

我有一个.NET 4.0类使用Assembly.LoadFrom来加载一个.NET 3.5混合模式程序集。 当从.NET 4.0应用程序调用此类(在configuration文件中指定useLegacyV2RuntimeActivationPolicy =“true”时),它一切正常。 但是,这个类也是COM可见的,当我从Excel 2007中调用它(同样,Excel.exe.config指定useLegacyV2RuntimeActivationPolicy =“true”)我得到一个FileLoadException: 无法加载文件或程序集'Foo …'或其某个依赖项。 无法加载运行时。 (从HRESULTexception:0x80131700) 内部exception是System.Runtime.InteropServices.COMException:加载运行时失败。 (从HRESULTexception:0x80131700) 从Excel 2003或Excel 2010或vbscript调用时,我不会遇到此问题。 有人可以解释发生了什么,我该如何解决?

通过Matlab在Excel表格中插入图表

我正在尝试在Excel表格中插入图表。 我正在使用下面的代码来插入正在工作的图表。 Charts = Workbook.Charts; Chart = invoke(Charts,'Add'); try Excel.ActiveChart.Name = chart_title; catch e errordlg(e.message); invoke(Excel,'Quit'); error(['Sheet (' chart_title ') already exists!']); end 但是,这将为所有列的数据创build一个新图表。 但是,我想创build一个图表(不要紧,如果它是一个新的表),但只有选定的列,说像B2:B16 (只使用选定的列) 任何想法,如何做到这一点? 谢谢

C#Com Interop:设置一行的背景颜色

我有一个用这个代码创build的Excel工作表: Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); Worksheet ws = (Worksheet)wb.Worksheets[1]; 我想循环遍历行和第二列中的每个具有特定值的行,我想将此行的背景颜色更改为红色。 任何意见表示赞赏。 问候。