我正在从MSDN复制一个VBA代码片段,演示如何从一个SQL查询抓取结果到Excel工作表(Excel 2007)中: Sub GetDataFromADO() 'Declare variables' Set objMyConn = New ADODB.Connection Set objMyCmd = New ADODB.Command Set objMyRecordset = New ADODB.Recordset 'Open Connection' objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;User ID=abc;Password=abc;" objMyConn.Open 'Set and Excecute SQL Command' Set objMyCmd.ActiveConnection = objMyConn objMyCmd.CommandText = "select * from myTable" objMyCmd.CommandType = adCmdText objMyCmd.Execute 'Open Recordset' Set objMyRecordset.ActiveConnection = objMyConn objMyRecordset.Open […]
使用同一个数据库中的代码,表单和数据我想知道什么是为Microsoft Access应用程序(比如说Access 2007)devise一套testing的最佳实践。 testing表单的一个主要问题是只有less数控件具有hwnd句柄,而其他控件只能得到他们关注的一个控件,这使得自动化非常不透明,因为您无法获取表单上的控件列表来执行操作。 任何经验分享?
我有这个问题,我试图解决。 每天我都会收到一份包含我需要发送的数据的报告。 所以为了使它更容易一点,我试图find一个macros,创build一个新的表与代理的名称,并移动在创build表中的每个代理的数据… 我find了一个可以做很多事情的人。 但是,由于这不是我的专业领域,所以我无法修改它来处理我的请求,甚至可能使其工作。 任何人有任何想法? Const cl& = 2 Const datz& = 1 Dim a As Variant, x As Worksheet, sh As Worksheet Dim rws&, cls&, p&, i&, ri&, j& Dim u(), b As Boolean, y Application.ScreenUpdating = False Sheets("Sheet1").Activate rws = Cells.Find("*", , , , xlByRows, xlPrevious).Row cls = Cells.Find("*", , , , […]
请build议从excel工作表中导出数据范围的更好方式,如.jpeg或.png或.gif中的图像。
我正尝试从Mac版Word 2011中的VBAmacros启动一个shell脚本,该脚本将在terminal窗口中运行。 我已经尝试使用Shell函数和MacScript函数,但是VBA解释器似乎无法在任何情况下find脚本。 根据VBA参考文档,以下应该工作: RetVal = Shell("Macintosh HD:Applications:Calculator.app", vbNormalFocus) 这会产生运行时错误53'未find文件'。 有什么build议么?
工作表A具有从工作表B收集的数据范围。 工作表A有一个macros,用于计算数据是否高于某个值,然后调用电子邮件模块向选定的用户发送电子邮件。 当工作表A上手动input数据时,macros工作,但是当从工作表B中提取数据时,它不会触发。 我不知道我需要改变我的VBA代码。 Private Sub Worksheet_Change(ByVal Target As Range) Call MailAlert(Target, "B5:M5", 4) Call MailAlert(Target, "B8:M8", 7) Call MailAlert(Target, "B11:M11", 6) Call MailAlert(Target, "B14:M14", 2) Call MailAlert(Target, "B17:M17", 4) Call MailAlert(Target, "B20:M20", 1) Call MailAlert(Target, "B23:M23", 3) Call MailAlert(Target, "B26:M26", 1) Call MailAlert(Target, "B29:M29", 5) Call MailAlert(Target, "B32:M32", 1) Call MailAlert(Target, "B35:M35", 7) Call […]
我有一个报告电子表格,可以从数据库中获取一些数据,并形成三张总结报告信息。 我想从命令行自动运行电子表格,并自动将所有三个报告表格保存为PDF文件。 起初,我以为我可以在工作表上有一个VBAmacros,通过一系列“print as PDF”做到这一点,但是这需要一个中间的交互式对话框来指定输出文件名。 然后我发现我可以保存为pdf,而macros可以设置输出文件的名称。 然而,这会创build三个单独的文件,然后我必须稍后将它们合并到一起。 (单独保存为pdf只保存一张,其他保存模式似乎保存整个工作簿。) 是的,以后有一些工具可以合并这三个文件,但是我想知道是否有一些简单的方法可以让Excel将多个工作表保存为一个pdf文件。 我现在打印一系列的东西,如: ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, … 我可以做一些像(伪代码)一样的语句: ThisWorkbook.Sheets(1,2,3,4).ExportAsFixedFormat Type:=xlTypePDF, …
假设我有以下代码: Sub TestRangeLoop() Dim rng As Range Set rng = Range("A1:A6") ''//Insert code to loop through rng here End Sub 我希望能够遍历rng指定的每个单元格的Range对象的集合。 从概念上讲,我想这样做: For Each rngCell As Range in rng ''//Do something with rngCell Next 我知道我可以通过手动parsingrng.Address和构buildRange对象来解决这个问题,但我希望有一个更直接的方式,不涉及stringparsing。
我似乎无法find解释如何在VBA中创build一个哈希表或关联数组的文档。 这甚至有可能吗? 你能链接到一篇文章或更好的,但张贴代码?
我正在试图做一个Excelmacros将给我在Excel中的以下function: =SQL("SELECT heading_1 FROM Table1 WHERE heading_2='foo'") 允许我使用SQL查询在我的工作簿表中search(甚至插入)数据。 这是我迄今为止所做的: Sub SQL() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset strFile = ThisWorkbook.FullName strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _ & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";" Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") cn.Open strCon strSQL = "SELECT * FROM [Sheet1$A1:G3]" rs.Open strSQL, cn Debug.Print rs.GetString End […]