Tag: xlsm

通过XLSM文件循环SSIS 2012

我有一堆启用了macros的Excel文件。 我想通过一个SQL查询来循环每一个 – select * from [Sheet1$A10:AZ100] 。 当我select了一个文件时,我的Excel连接pipe理器工作,但是当我添加一个For Each Loop Task并将我的variables分配给它时,会出现一个大问题。 我的步骤是: 创build新连接:Excel连接pipe理器我select文件夹中的第一个XLSM文件并点击确定。 拖放每个循环容器并双击。 在集合中:我selectFor Each File Enumerator并在文件夹中指定文件夹path。 在文件中:* .xlsm最后一个选项是:完全合格 在variables映射中:我创build了一个名为“FileFound”的新variables 在每个容器中拖放数据stream任务并双击。 拖动源助手:select上面创build的Excel连接pipe理器 双击Excel来源和数据访问模式:我selectSQL命令。 我的查询是select * from [Sheet1$A10:AZ100] 。 这个查询对于所有的XLSM文件是相同的。 点击列和我的数据显示一切OK 现在这是问题开始的地方 – 右键单击Excel连接pipe理器,然后点击属性。 我先复制我的连接string。 我的连接string是: Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\Excel data\ABCDE.xlsm;Extended Properties="Excel 12.0 MACRO;HDR=YES"; 我单击expression式并select属性中的连接string。 接下来我编辑我的expression式为: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::FileFound] + " ;Extended Properties=\"Excel 12.0 MACRO;HDR=YES\";" […]

在XLSM中自动运行数据连接

我有一个包含2个Web查询连接的XLSM文件。 当我在“数据”选项卡中进入“连接”时,会看到我拥有的两个连接。 对于每一个我可以编辑一些属性,一个说:“每X分钟更新”。 我已经设置为1分钟,并勾选“激活后台更新”。 但是,这将不会工作,因为networking查询连接无法运行。 最终我需要的是每小时自动运行一次这些连接。 优选地,没有任何用户交互并且没有文档被打开。 这可能吗?

如何在Excel 2016 / win10的单独实例中打开Excelmacros文件(xlsm)

有没有人知道什么registry项需要修改,以打开在Excel单独的实例(即单独的窗口)中启用macrosExcel文件? 我按照以下页面上的说明操作Microsoft How-To (如果要在Excel的单独实例中打开* .xlsx文件)以及registry文件夹和文件扩展名之间的关系 。 “Microsoft How-To”链接很好地工作,完成了它应该做的事情。 但是,我需要在单独的窗口中打开xlsm文件,并为xlsx文件继续打开默认方式(全部在同一个窗口/ excel-instance中)。 我想,如果我修改了Excel.SheetMacroEnabled.12 \ shell \ open数据(类似于第一个链接中描述的),那么* .xlsm文件就会每次都在新窗口中打开。 现在,当我尝试打开一个* .xlsm文件时,出现一个空白的Excel窗口,其中没有工作簿(在这个失败的尝试后,我导入了原始的settigs,所以一切都恢复了)。 图:我相信下面的图片中显示的文件夹中的一个具有需要改变的关键,以便在单独的窗口中打开excelmacros文件。

Excel 2010 – 条件格式

我有一个电子表格,我希望与周六和周日相关的列自动填充颜色。 随着月份和年份的变化,我希望格式能够识别周末,并相应填写栏目。

VBA只粘贴值而不粘贴每一个东西

我正在研究一个小项目,要求我通过一列search一个字,然后将包含我的单词的整行复制到另一个表中。 这是我的代码,到目前为止: Sub SearchForString2() Dim LSearchRow As Integer Dim LCopyToRow As Integer On Error GoTo Err_Execute 'Start search in row 4 LSearchRow = 10 'Start copying data to row 2 in Sheet2 (row counter variable) LCopyToRow = 3 While Len(Range("J" & CStr(LSearchRow)).Value) > 0 'If value in column E = "Mail Box", copy entire row […]

VBA excel:使用Workbook_BeforeSave和ActiveWorkbook.SaveAs强制文件名

我正在构build一个放置在专用networking上的共享文件夹中的窗体。 由单个用户使用的“母表”是一个模板,用于在使用电子表格中的信息保存时生成“子表单”。 为了命名我的'子窗体',我使用Workbook_BeforeSave事件。 我收集我需要的信息来命名文件。 然后,我保存为我的文件的名称。 所有的文件都在同一个文件夹中。 我的代码在我的电脑上工作正常(Excel 2016),但出于某种原因,它不适用于所有计算机(我已经注意到Excel 2013上的问题,但不是在2010年)。 我检查是否每个用户都有正确的访问权限,包含文件的文件夹,他们有。 他们不能手动保存为。 这里是我用来保存的代码: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.DisplayAlerts = False Application.EnableEvents = False Cancel = True 'Variable definition Dim Contrat As String Dim Projet As String Dim Requisition As String Dim Marque As String Dim RefPeinture As String 'Get variable values […]

使用POI读/写XLSM

我在我的C#代码中使用POI几个星期,我发现和问题,我不能解决:Xlsm。 我必须打开一个xlsm模板,编辑并保存它。 该模板包含macros,但我只是将数据添加到xlsm文件。 其实,我认为,阅读和编​​辑工作find(感谢在vs中debugging),问题是当我试图写…代码工作,没有错误,但是当我试图用Excel打开它,它崩溃.. FileStream temp = new FileStream(xlsm_file, FileMode.Open, FileAccess.ReadWrite); XSSFWorkbook workbook = (XSSFWorkbook)WorkbookFactory.Create(temp); XSSFSheet sheet = (XSSFSheet)workbook.GetSheetAt(0); workbook.SetSheetName(0, sheetname.Substring(0, Math.Min(sheetname.Length, 30))); temp.Close(); FileStream toWrite = new FileStream(xlsm_file, FileMode.Open, FileAccess.ReadWrite); workbook.Write(toWrite); toWrite.Close(); 例如,即使这崩溃.. 有人有想法吗? 谢谢 !

Excel – .xlsm在“受保护的视图”中打开,但在打开时在常规视图中崩溃

我有一个Excel文件,当我试图打开它定期崩溃,但它不知何故打开受保护的视图。 这很奇怪,因为昨天工作正常。 然后,我重新启动电脑,重新打开表格,并在打开时崩溃。 我可以打开其他文件。 然后我在保护视图中打开它,并没有崩溃。 但是,当然,我不能这样工作,所以我点击启用编辑,并再次崩溃。 我究竟做错了什么?

使用OpenXlsx和.xlsm文件复制工作表

我正在使用openxlsx包的基本function在excel文件上写入数据。 当我使用.xlsx文件写入数据时,没有任何问题。 当我尝试使用.xlsm (具有macros的文件)写入数据时,在保存.xlsm文件后,Vba项目中出现重复的表单,这些新表单为空。 我的代码如下: OutputBook = loadWorkbook("DataImportOutput.xlsm") writeData(OutputBook, "Database", MyData, rowNames = TRUE, startCol=1, startRow=1) saveWorkbook(OutputBook, "DataImportOutput.xlsm", overwrite = TRUE) 在R代码的末尾,“DataImportOutput.xlsm”在Vba项目中有一个重复表单。 使用相同的文件,但没有macros(.xlsx),没有重复。 为什么这个工作表的重复发生? 有一种方法可以避免与.xlsm文件重复工作表?

访问comboboxListIndex,运行时错误'438',xls vs xlsm?

我有一个代码,从一个Excel表中取得值,并把它们放在另一个表中的同一个地方。 这包括combobox索引以及单元格值。 这两个电子表格具有相同的结构和相同的表单元素,但是一张表具有不同的图像作为标题。 这是错误的线: Workbooks(Template).Sheets(Sheet1).ComboBox12.ListIndex = Workbooks(OriginalFile).Sheets(Sheet1).ComboBox12.ListIndex Template和OrignalFile是文件名, Sheet1是工作表选项卡的名称, ComboBox12在两个文件中都以“ ComboBox12 ”的forms存在。 所以这是问题。 当我运行第一次打开这两个文件的脚本,然后运行一堆这些命令时,它会出错 "Run-time error '438' Object doesn't support this property of method". 但是,如果我运行的代码行,而这两个文件已经打开,它运行得很好。 为了使事情更有趣,在97-2003 .xls文件上运行代码完美地工作。 而且它似乎没有什么区别模板文件的版本。 只有当原始文件是.xlsm版本时,代码才会出错。 (从VBA窗口打开后,我仍然可以运行) 为了certificate这是导致行为改变的文件版本,我使用了一个.xls文件,代码可以正常工作,并将其保存为.xlsm,然后用新文件名重新运行代码,并将其错误地删除。 有任何想法吗? 在Excel中打开.xlsm文件后,是否发生了这种情况:我的vbamacros丢失了? 我感谢任何帮助!