Tag: office 2007

在VBA中parsing选项卡分隔值

我正在尝试从Excel中复制剪贴板数据(即制表符分隔的文本),并将其parsing为词典的集合。 这个想法是,每一行将由一个字典表示,从头到单元格值映射。 复制数据中的第一行将包含标题。 从剪贴板中获取文本非常简单: Dim dataObj As DataObject Dim clipString As String Set dataObj = New DataObject dataObj.GetFromClipboard clipString = dataObj.GetText 然后我把input分成几行: Dim strRows As Variant strRows = Split(clipString, vbNewLine) 接下来我尝试提取标题: Dim headers As New Collection Dim strCols As Variant strCols = Split(strRows(0), vbTab) For col = LBound(strCols) To UBound(strCols) – 1 headers.Add strCols(col) Next […]

使用C#/ VSTO监视excel 2007中的一系列单元格

我在Excel中有一行,我想在C#中将其转换为ObservableCollection用于绑定/事件目的,所以所有访问器类都知道他们从源excel表获取最新数据。 这将如何完成? 说明:我正在使用一个Excel加载项目,而不是一个工作簿项目,所以不能确定XMLMappedRange控件是否是一个选项。

在Excel 2007中隐藏工作表(使用密码)或在Excel中隐藏VBA代码

我发现了一种隐藏Excel工作表的方法,如下所示:将工作表的可见性设置为VBAProject属性中的VeryHidden,然后使用密码保护VBAProject属性。 这很好,但是在Excel 2007中,如果将其另存为XLSX,则将剥离VBAProject密码保护,并可以查看VBA代码。 有什么办法可以防止这个? 或者,还有其他方法来隐藏Excel 2007表单吗?

Zip批处理命令和Excel

我有许多excel文件,我需要压缩到每个自己的zip文件夹。 我想我已经解决了这个问题,但是我有同事回到我这里说他们不能打开excel文件,因为它已经被破坏了。 我回去检查原始文件,它打开就好了。 但是,当我打开压缩文件的相同版本,我也得到了损坏的错误。 我在Office 2010上,可以修复它,但我的同事都是Office 2007,似乎无法修复该文件。 我的批处理代码如下: for /r %%X in (*.xlsm) do "C:\Program Files\7-Zip\7z.exe" a -tzip "%%~nX" "%%X"

Excel数据导出修正号错误/删除绿色三angular形

在使用第三方组件导出数据后,Excel工作表中的数据input不正确。 Excel认为有些值是string,而它们是数字,一个绿色的三angular形显示出来。 我们编写了以下代码来解决这个问题: For Each objCell As Microsoft.Office.Interop.Excel.Range In objWorkSheetReport.Range(objWorkSheetReport.Cells(1, 1), objWorkSheetReport.Cells(Me.RowCount + 10, Columns.Count + 10)).Cells If IsNumeric(objCell.Value) Then objCell.Value = CDbl(objCell.Value) End If Next 这消除了所有这些小绿色三angular形,但真的很慢。 这个问题 有没有更快的方式来快速转换一个范围的数据,所以绿色三angular不显示?

在VBA中相当于IFDEF

我有需要在Excel 2003和Excel 2007上运行的代码,并且有几个版本中的更改会导致代码停止。 我尝试用If-Else语句分隔这些行,但是代码不能编译,因为它不能识别用于其他的代码。 有没有什么办法可以告诉一个版本忽略VBA中类似于C或C ++风格的#ifdef的一段代码?

将Excel文件读入Access数据库的最佳方法

什么是从Access 2007应用程序中读取(只读)Excel文件的“最佳”方法。 我只想循环通过行并将数据放入一个Access表。 我不想手动导入(获取外部数据对话框),而是通过VBA。 用户通过浏览button获取表单,然后指向具有定义的内容/格式的Excel文件。 之后,VBA代码读取数据并将其放入Access数据库。

禁用粗体button

我想在Excel工作表中禁用“粗体”切换button。 我该怎么做? 我有下面的代码,但它不工作: CommandBarControl test = excel1.Application.CommandBars["Formatting"].FindControl(Id:113,Recursive:true); if (test.Enabled) { MessageBox.Show(test.Caption + " enabled"); test.Visible = false; test.Enabled = false; } 我认为这是行不通的,因为从Office 2007他们使用function区控件。 任何人都可以帮助如何获得特定button的控制? 所以我可以改变它的属性,默认启用/禁用它等等

Excel自动化:PDF导出导致“打印机设置”popup

我正在开发一个应用程序的自动Excel生成PDF。 每隔一段时间(没有任何明显的原因,程序运行时出现以下popup窗口: 32位应用程序的打印驱动程序主机停止工作。 不久之后,这一个: 打印机设置 如果有的话,我需要在这里做什么? 我的申请不是太复杂。 总是(100%)的错误发生在这一行上: _application.ActiveWorkbook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, pdfTemplatePath, Excel.XlFixedFormatQuality.xlQualityStandard, _, _, 1, pdfPrintAreaEnd); 问题的variables是: Excel := Microsoft.Office.Intertop.Excel _application := Excel.Application _ := System.Type.Missing pdfPrintAreaEnd := int 6 exception消息如下: System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC 这里发生了什么? 而且更重要的是:为什么只是偶尔发生?

在VSTO Excel中,如何检测单元格中的数据?

我想知道是否有人知道如何快速检测给定的工作表中是否有数据,而不需要实际遍历工作表中的所有行/列来解决这个问题。 我正在编写一个导入程序,将数据直接导入活动工作表(如果尚未修改),或者创build新的工作表并导入到其中。 我目前正在循环浏览整个表格,而且我的导入有一些明显的滞后时间。 我将不胜感激任何帮助。 谢谢!