Tag: ole

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

我正在写一个与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 […]

将OLEObject从Excel复制到新创build的Powerpoint

即使在经过数小时的search之后,我仍然努力正确地使用API​​。 基本上,我想从我的Excel文件中执行以下操作。 1)创build一个新的PowerPoint演示文稿和幻灯片。 [DONE] 2)将Excel文件中的OLEObject复制到Powerpoint幻灯片中。 到目前为止我所做的不是。 2是 Dim s As Shapes For Each Obj in Worksheets("TEMPLATE").OLEObjects 'Copy OLEObjects from Excel to Powerpoint slide Set s = pptSlide.Shapes.AddOLEObject '( … ?? … ) Next Obj 请帮助我如何将Excel文件中的OLEObjects复制到Powerpoint幻灯片中。 谢谢 。

Microsoft OLEDB错误外部表格不是预期的格式

我已经写了一个代码,可以读取使用Microsoft数据访问引擎的Excel 2007文件下面的代码片段适用于大多数的文件,但它恰好适用于大多数的Excel文件,即.xlsx, .xls,但是当它失败objConn.Open(); 对于有excel格式问题的excel文件请参考下面的图片 它将无法打开ole DB连接说明错误外部表格不是预期的格式 。 这个导入程序的另一个问题是 OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM "+ SelectionSheet, objConn); 是不能够阅读工作表从空格开始任何帮助解决这个问题将不胜感激。 public DataTable ReadExcel(string Path, ArrayList IgnoreString, ArrayList IgnoreColumn) { DataTable dtReturn = new DataTable(); DataTable dtPrintable = new DataTable(); DataTable dtTemp = new DataTable(); try { string sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + Path + […]

显示OLEObject作为默认图标

我试图显示从当前的其他Excel文件的链接。 我能够显示它作为自定义图标,指定图标的path,但如果可能我想显示为默认的Excel图标,所以我不必将此图标文件发送给用户。 v_sheet.OLEObjects.Add Filename:=v_fileNameToImport, Link:=True, DisplayAsIcon:=True, _ Top:=40, Left:=40, Width:=100, Height:=100, IconLabel:=v_regions(j), IconFileName:=v_iconFile, IconIndex:=0 该文件说: IconFileName可选 一个string,指定包含要显示的图标的文件。 仅当DisplayAsIcon为True时才使用此参数。 如果未指定此参数或文件不包含图标,则使用OLE类的默认图标。 但在我的情况下,没有工作。 如果我没有指定图标,它将显示为一个空白的矩形。 我需要做些什么来显示这个默认的图标?

为什么perl保存两份Excel电子表格?

这与保存后在“我的文档”中创buildExcel Addin的副本类似,只不过我正在使用Perl而不是VBA,而使用xls文件而不使用xlsm,并且行为的负面影响是不同的。 我已经inheritance了作为SYSTEM在Windows 2003 Server上运行的Perl脚本(Perl 5.8.8)。 将Excel 2003模板文件复制到唯一的完全定义的path位置后,它将使用OLE在Excel中打开唯一文件,编辑文件,保存文件并closures文件。 编辑文件的结果是保存在正确的,完全定义的path位置以及默认用户configuration文件的“文档”文件夹中。 这导致数以千计的这些文件积累在C:驱动器上,因为每个要雇用的新pipe理员都会在他的“文档”文件夹中获取副本。 添加设置$ OUT的值的代码: if (!$db->Sql("EXEC GetDetails 'name'")) { while ($db->FetchRow()>0) { @DataIn = $db->Data(); $name = $DataIn[0]; $IN = $DataIn[1]; $OUT = $DataIn[2]; opendir(DIR,"$OUT") || die "$OUT directory does not exist $!\n"; #… loop of proprietary code #… @Completed = $db1->Data(); #… &formatExcelReport #The code that […]

使用OLE终止Excel应用程序

我如何手动终止使用OLE自动化的Excel应用程序? 我想在一些exception处理中做到这一点,如果一个函数抛出一个错误,一个Excel进程不会继续运行。 目前我使用下面的代码来打开excel: Variant excel = Variant::CreateObject("Excel.Application");

Excel自动化在C ++ Builder XE7中不起作用

我正在尝试使用下面的代码在RAD Studio XE7中从C ++ Builder打开一个.xlsx文件: #include "ComObj.hpp" Variant Excel = CreateOleObject("Excel.Application"); Variant Books = Excel.OlePropertyGet("Workbooks"); Excel.OlePropertySet("Visible", true); // An escape character is missing but the problem remains Books.OleProcedure("Open", L"D:\1.xlsx"); // exception here 但最后一行导致exception与消息: Project2.exe引发exception类EOleException,并显示消息'ссталению,намнеудалосьнастифайлИСТИНА.xlsx。 Возможно,онбылперемещен,переименованилиудален?' 俄语翻译: Project2.exe引发exception类EOleException消息'不幸的是,我们无法find文件TRUE.xlsx。 它可能已被移动,重命名或删除?“。 屏幕与源中断的地方 在Delphi中的代码似乎正常工作: uses ComObj; var Excel, Books: Variant; begin Excel := CreateOleObject('Excel.Application'); Books := Excel.Workbooks; Excel.Visible := […]

Excel OLE对象embedded的path位置

正如标题所述,我还没有find一种方法来检索embedded对象的名称或其path(附加图像) 在提供的示例中,我想至less获得完整path位置或67CE8 …名称,因为我知道这些位置存储在Temp文件夹中,所以我可以通过VBA自动保存它们。 我试过“.SourceName”,没有运气,因为它似乎只得到超链接(但没有真正的超链接,因此错误1004)。 编辑对于在评论中的代码 : ActiveSheet.OLEObjects.Add(Filename:= _ "https://…dummylink" _ , Link:=False, DisplayAsIcon:=False).Select x = Selection.Name Selection.Verb Verb:=xlPrimary

修改Word文档中的embedded式Excel对象

我需要示例代码,甚至是第三方对象,这些对象将允许我访问embeddedWord文档中的Excel对象。 我已经试过了Aspose,他们还没有能力。 有没有人做过或者你知道第三方的对象?

使用perl的列宽自动调整function

我已经生成了使用perl脚本使用一组csv文件的excel表。在那我需要设置列的宽度作为自动适合 。假设做我有得到在模块中这样做的方式称为OLE我不知道如何做到这一点,请你帮我?