Tag: 自动化

Excel,使用VBA与用户窗体进行交互

我有一百个Excel程序可以生成不同types的报告。 这些程序包含用户表单,它要求用户login数据库或指定其他细节,然后生成报告。 现在,用户需要手动input这些信息来生成报告。 我想知道是否有任何方法可以使用VBA来自动生成报告。 例如,我需要一个程序来打开另一个工作簿,input用户名密码并按回车。 我想知道如果Sendkeys函数可以帮助我这样做?

我试图导出一个Excel文件到PDF,但alignment是否正在closures?

导出纸张时,alignmentclosures。 一半数据在下一行。 我如何以编程方式alignment工作表,并将其转换为pdf,而不需要alignment。 我需要一些适合页面的东西。

在Excel中使用OleDbDataReader在C#.NET中读取不正确的值

我使用NUnit(这是在Visual Studio 2010中)运行一些使用C#.NET编写的testing用例。 我正在使用的方法从另一个开发团队向我提供的Excel .xls(2003)文件中读取用户和地址数据。 当我在不改变Excel文件的情况下运行testing时,一切正常。 如果我更改Excel文件中的某些值,例如名字或姓氏或街道地址,它仍然有效。 但是,如果我更改了邮政编码字段,testing失败,我得到一个错误,说: “System.ArgumentException:无法将types为”System.DBNull“的对象转换为types”System.Double“” 即使input完全相同的值,也会发生这种情况。 换句话说,如果现有的邮政编码值是“ 11111 ”,而我根本不修改这个文件,那么testing在我运行时就起作用了。 但是,如果我修改该字段并重新input“ 11111 ”,则读者将其视为NULL值并引发上述错误。 在电子表格中的其他行中 – 我没有修改过 – 这个值返回为“ 11111.0d ”,一切正常,所以看起来读者正在读取这些值为Double(我不确定为什么)。 但是如果我自己input价值,它不会这样读。 我读过的一篇文章build议在连接string中使用IMEX=1来将混合值作为文本读取。 但是,这不起作用。 当我添加IMEX=1 ,我收到了"Could not find installable ISAM"消息。 在此先感谢您的帮助。

Excel for Mac 2011 – 运行时错误“-2147483640(80000008)”

如果我的问题不符合标准,我很感激所有的帮助。 在使用MS Excel for Mac 2011版本14.3.2(130206)时,我遇到了一些不寻常的行为。 当插入一个空白的新工作簿的模块时,这些基本例程应该工作: Sub mysub() Debug.Print Date End Sub 应该如此: Sub mysub2() MsgBox Now End Sub 但他们没有。 我收到以下运行时错误消息: 运行时错误'-2147483640(80000008)': 自动化错误 这里有一个相同的错误的实例: Powerpoint 2011 Mac报告对象'_Slide'的方法'导出'失败 它具有相同的错误代码,但在MS PowerPoint中,而不是Excel。 所以我希望我错过了一些简单的东西,这不是Excel for Mac 2011的错误。 然后,我想通过将工作表函数= Now()放入一个单元格(比如A1)来解决这个问题,然后尝试: Sub mysub3() MsgBox Range("A1") End Sub 但是,同样的运行时错误信息。 有什么想法吗?

如何在Excel中的文本中获取关键字?

我有一个Excel表。 表单的一列有文本数据行。 我需要找出每行文本中的关键字,然后把关键字放在另一列。 有这个http://textalyser.net/网站,可以给我一个特定的文本的关键字,但我不知道如何自动使用它来findExcel中每一行的文本中的关键词。 有没有办法自动做到这一点。 有没有其他的方式来编写代码来实现最终结果?

以编程方式编辑Excel下拉列表项目

我有成千上万的Excel文件,全部使用相同的模板制作而成。 每个列都有date,零件号和工程师等参数。 工程师单元格被设置为下拉列表,因此用户只能input某些工程师的名字。 当我们想要添加新的工程师或摆脱已经离开的人时,我们当前在需要时在Microsoft脚本编辑器中更改名称列表: <x:DataValidation> <x:Range>$D$19:$D$37</x:Range> <x:Type>List</x:Type> <x:CellRangeList/> **<x:Value>&quot;Peter, Paul, Mary&quot;</x:Value>** </x:DataValidation> 每遇到一个Excel文件我们都没有更新,我们必须按ctrl + F11,find“Peter,Paul,Mary”这一行,然后手动将其改为“Peter,John,Susan”。 这变得非常烦人,我想编辑上述数据,用“Peter,John,Susan”replace“Peter,Paul,Mary”。 我想这样做的每个文件名以“ABC”结尾的Excel文件。 有没有一个代码解决scheme,而不是search每个文件,并手动更改它? 我更喜欢C ++ / C#,但是如果需要的话可以使用Visual Basic进行pipe理,或者更容易。

OLEDB写入excel的空间

我正在使用OLEDB将string写入Excel文件。 它有效,除了有时由于某种原因文本的开始/结束的空间丢失。 像“abc”或“abc \ r \ n”这样的东西变成了“abc”。 我注意到通过打开生成的文件在Microsoft Excel中,我看不到空间。 而当我使用OLEDB读取生成的文件时,我看不到空间。 更新:经过一些testing,我发现这不是因为OLEDB。 通过OLEDB生成excel文件后,我用一点excel自动化来格式化文件。 我做的事情非常简单,只是改变了2列的宽度,这一点代码以某种方式删除了空间。 任何build议表示赞赏。 excel = new Excel.Application(); excel.Workbooks.Open(file, 0, false, 5, System.Reflection.Missing.Value, System.Reflection.Missing.Value, false, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true); excel.Visible = false; foreach (var obj in excel.Workbooks[1].Worksheets) { Excel.Worksheet sheet = (Excel.Worksheet)obj; sheet.Columns["B"].ColumnWidth = 50; sheet.Columns["C"].ColumnWidth = 120; } excel.Workbooks[1].SaveAs(file, Excel.XlFileFormat.xlOpenXMLWorkbook, missing, missing, […]

当打开一个IEpopup框时停止VBA停止并closurespopup警告框

这个真气popup框让我困扰了2个月,有些人帮我克服了这个问题。 我写了一个代码,当点击这个链接时,点击我的网页中的锚链接,通常会导航到下一页。 如果点击链接页面上的数据没有正确提供,它会打开一个popup框,在那里我的VBA代码停止,直到我点击确定popup框(为什么我的VBA代码停在这里?)。 此外,我需要使用我的VBAclosures此button并更正数据,然后再次单击链接。 我已经尝试了以下解决scheme,他们似乎没有太多的灵丹妙药。 1.删​​除onclick属性( http://www.mrexcel.com/forum/excel-questions/426740-using-visual-basic-applications-close-internet-explorer-message-box-popup.html )这甚至不工作如果它适用于我的情况nt 2.发送密钥 – 进入nt确定为什么人们甚至把这张贴作为一个解决scheme。我的代码在链接被点击后很快停止,代码永远不会到达行发送密钥,直到popup我手动安装。 3.点击链接并运行新的excel中的代码closurespopup窗口并closures它,然后再打开另一个excel( http://www.vbaexpress.com/kb/getarticle.php?kb_id=1146 )工作,但我需要单击该链接差不多500个时间,这使得代码打开excel工作表每时每刻,这看起来笨拙,耗时的过程消耗和不可行有人可以告诉我一种方法来closures对话框,为什么地狱有人发明了这个警报箱。 这是我的代码 while x>1 'Fill the details in webpage Set TDelements = IEfr1.getElementsByTagName("a") For Each TDelement In TDelements If TDelement.innerText = "Next" Then ' TDelement.Focus ' Call BeginTimer(500, IE.hwnd) TDelement.Click '//this makes the alert box fire and code halts here until the […]

对象未设置为对象的实例错误Excel 2013自动化VB.NET

试图在VB.Net中创build一个小的报告程序。 它可以在Excel 2003和2010中使用,但是在尝试创build第二个工作表时会在Excel 2013中引发错误。 下面列出程序,我也指出它出错的地方。 它甚至没有抓住Try和Catch,我把它添加为“未处理的exception”。 目标框架是3.5 已尝试x86,x64和任何CPU作为目标CPU 我用2003和2010的.dlls作为我的参考。 Imports Microsoft.Office.Interop.Excel Private Sub DRpts() Try Dim strFileDirName As String = "" Me.Cursor = Cursors.WaitCursor 'Morning Report Sheet 1 Dim MornRpt As String = "SELECT DateCreated, ReportClass, SUM(QtyOrdered), SUM(ExtendedPrice) " & _ "FROM tmp_DailyReport GROUP BY DateCreated, ReportClass" Dim oExcel As Object Dim oBook As Object […]

从xls读取数据,使xls文件在selenium中损坏

我正在尝试从一个正在使用的xls读取数据 java.io.File f1=new java.io.File("E:/SELENIUM DATA/First_P1/DATA_SHEET.xls"); w = Workbook.getWorkbook(f1); wworkbook = Workbook.createWorkbook(f1,w); 过了一段时间,如果试图打开xls,显示文件已损坏。 帮我。