Tag: 自动化

如何设想Excel是由自动化(VSTO Addin上下文)

我尝试解决以下问题。 语境: 我正在运行一个VSTO Excel应用程序上下文插件,当MS Excel由其他可视化模式下的自动化进程启动时,我也会加载我的插件。 所以,现在需要知道MS Excel是否是由其他进程自动启动的 的CreateObject() ExcelApplicatoin.Visible = true (“/自动化embedded”) 现在,我评估以下Excel属性: ThisAddIn.Application.UserControl 但是,当MS Excel在CreateObject期间启动时,属性也是“False”。 有没有人有任何想法来解决这个问题? 我没有其他物业发现解决这个问题。 提前致谢, Sukram。

使用来自表格的信息填充多个工作表

我正在从主表中填写数据的100个实例。 我正在寻找一种方法来实现这一点。 该表单具有NAME和DATE (以及其他)字段我正在寻找创build一个代码,将从主表中的一行,将其填充到单独的工作表上的表单,然后重复下一行和工作表的过程。 例: 工作表1:将从A行拿NAME和DATE 工作表2:将从B行拿NAME和DATE 工作表3:将C行中的NAME和DATE … 我试图用这个在飞行中学习VB,但到目前为止还没有成功。

保存Excel工作簿作为PDF给我一个OLE错误800A03EC

我有以下function,我想用于从Excel中创buildPDF。 但是,当试图保存PDF时,我得到一个OLE错误800A03EC,我根本无法弄清楚。 我使用相同的方法来从Word创buildPDF,并且工作得很好。 function xlsCreatePdf(aInput: string; aOutput: string = ''): string; var FileDoc: OleVariant; FilePDF: OleVariant; ExcelBook: ExcelWorkbook; PdfName: string; ExcelApp: ExcelApplication; begin Result := ''; if aOutput = '' then begin PdfName := Folders.DirOutput + ExtractFileName(aInput); PdfName := ChangeFileExt(PdfName, '.pdf'); end else PdfName := aOutput; if (Files.Validate(aInput)) then begin if not Assigned(ExcelApp) then ExcelApp […]

Excel单元格更改时调用自定义的VBA函数

我想先说这个问题,说我是大学里的一个知道C ++的大学生,对VBA有一个非常基本的理解。 现在,正如标题所述,我需要一些帮助为Excel工作表configuration一些VBA代码,以便每当某列(特别是D列)中的单元格被修改时,它将自动更新同一行内的其他单元格。 基本上我想这样工作,以便当用户鲍勃修改单元格D26(例如)时,它将调用我build立的自定义函数,并将该代码插入单元格B26,然后重复使用单元格C26不同的function。 但是,这个函数必须是这样的:如果单元格D27被修改,它将只修改第27行中的其他单元格,只保留第26行以及之前或之后的行,直到在D28中调用此函数为止,等等。 我不完全确定这是否可能,但如果有人能帮我configuration这个,我会很有礼貌。 我为自定义函数从互联网上构build/清理的代码是: http : //pastebin.com/RE0V2nrT 我想调用这个项目的第二个函数是Excel中内置的= TODAY()函数。 我已经拼凑到目前为止检查单元格是否已经改变的代码是这样的: http : //pastebin.com/S5E8cmty 如果有人能帮助我理解如何编写我正在寻找的东西,将不胜感激。 如果你有不同的方法来解决这个问题,我也很乐意听到…只要你能帮助我,然后制定你的解决scheme,哈哈! 无论如何,多亏了谁回复。

复制多个电子表格中的列。 当电子表格上的列为空时,数据向上移动

我有下面的代码。 代码将进入17个工作簿中的每一个,并根据列标题名称提取某些列。 这将重复并添加到主工作簿的底部,直到最后一个被提取。 不幸的是,如果其中一个单独的工作簿中的某一列中没有任何内容,则下一个工作簿中的数据会在单元格中向上移动。 无论如何要sorting这个。 我已经添加了下面的代码。 Option Explicit Sub CopyColumns() Dim CopyFromPath As String, FileName As String Dim CopyToWb As Workbook, wb As Workbook, CopyToWs As Worksheet Dim lastRow As Long, NextRow As Long, lcol As Long, c As Long, sv As Integer Dim ws As Worksheet Dim myCol As Long Dim myHeader As Range […]

使用自动化从Excel的get_Text。 如果单元格太窄,请获取#####。 我怎样才能避免呢?

我从Excel工作表使用自动化get_Text。 我这样做是因为我需要格式化的值(获取单元格的值不应用任何格式)。 如果单元格所在的列太窄,我会得到“#####”,如果我通过Excel来查看电子表格,那也是一样的。 我怎样才能避免呢? 编辑: 这是相关的代码: // Return the (string) value of a cell HRESULT CDialogImport::GetCellValue(IRange *irange, int irow, int icol, CString &cstrValue) { // Get dispatch interface for the cell at irow,icol COleVariant vCell; HRESULT hr = AutoWrap( DISPATCH_PROPERTYGET, &vCell, irange, L"Item", 2, COleVariant((short)(icol+1)), COleVariant((short)(irow+1))); if (FAILED(hr)) return hr; // Use the dispatch interface […]

单击框时突出显示和忽略特定范围

我是视觉基础的开始。 我试图做的是每当一个盒子被点击,突出一个特定的范围。 然后,如果在此之后单击另一个框,则以前的范围将不亮,而另一个范围将突出显示。 这是我的代码,但现在不工作。 Dim FSelect As Boolean Dim myRange As Range Sub Rectangle18_Click() If FSelect Then UnhighlightBox (myRange) <—error – runtime error "424" object required End If Range("C9:D9").Select HighlightBox FSelect = True Set myRange = Range("C9:D9") End Sub Sub Rectangle19_Click() If FSelect Then UnhighlightBox (myRange) End If Range("C11:D11").Select HighlightBox FSelect = True Set myRange […]

保持Excel格式的格式

基本上我想保留Excel单元格的现有格式。 如果我使用ActiveCell.Value2 =“新值”; ActiveCell显示“新值”但丢失了用户定义的格式(例如红色字体,蓝色背景),所有格式化值都会返回到Excel默认格式值。 注意:如果使用Excelreplace单元格值,则Excel会保留用户的格式。 将此操作logging为macros时,Excel使用属性FormulaR1C1,但是根据MSDN,此属性用于macros。

在Excel中,是否可以自动将CSV数据读取到模板中并从命令行将其打印到PDF中?

目前的stream程概念是: 数据生成:数据是通过标准过程生成的; 这意味着虽然值发生了变化,但数据的位置存储在相同的位置(单元格A1的值将会改变,但数据的“标签/映射”是静态的,或者不会改变。 数据存储:以分隔forms(CSV,Tab等)写入单个文件位置或写入MySQL数据库的数据; 意味着数据是以串行方式写入和处理的,而不是并行的; 这意味着一个新的工作/任务要等到现在才完成。 如果可以并行处理的话,那很好,但这不是必需的。 数据加载到模板:使用现有的Excel模板,从静态文件或数据库位置读取数据,并将数据“加载”到模板中; 这意味着数据位置映射是静态的。 PDF生成:根据CSV文件中的数据创buildPDF文件并存储到设置的目录/文件夹位置。 (如果不清楚,所有这些都应该自动完成,如果模板调用被制作/映射到相同的数据存储位置 – 应该能够打开,编辑和保存excel模板,而无需创build自定义模板这个过程。) TARGET_OS: OS-X-10.5,Mac-Office-2011(主要是由于模板是在Mac-Office-2011中创build的,尽pipe如果需要的话可以在CentOS 5.3或Window Server 2008上运行) 问题:如果您有任何疑问,请发表评论,我在写入OpenOffice ODF XML之前生成文档,压缩文件并打印PDF(尽pipe我无法回想起我使用的命令行PDF工具)。

合并csv文件在Python中擅长

可能重复: python:创buildexcel工作簿并将csv文件转储为工作表 如何自动完成将多个CSV文件放入单个Excel(XLS \ XLSX)文件的任务,以便每个CSV都是不同的表单,最好使用与CSV文件相同的名称?