Tag: access vba

访问vba中的自动化错误

我使用下面的代码来进行连接和执行查询,但它不能正常工作,它显示“Auomation错误未指定的错误”的代码是: On Error GoTo err DoCmd.Hourglass (True) 'For Report file Name Dim rs As New ADODB.Recordset Dim strReportFileName As String Dim rsReportFileName As New ADODB.Recordset strReportFileName = "" Set con = Application.CurrentProject.Connection sSql = "" sSql = "SELECT * from tblInputFile as input inner join tblAccountMst as actmaster on input.Account=actmaster.AccountAsPerBOI" If rs.State = 1 Then […]

Excel 2016中的活动X错误和后期绑定

我的电脑上安装了Microsoft Office 365 Business ,并试图运行Access VBA来创buildExcel对象。 这是我使用的Access VBA语法 Dim xl As Object, wb As Object, ws As Object, ch As Object Set xl = CreateObject("Excel.Application") 但是,它碰到了CreateObject行并抛出下面的图像,但只在我的PC运行Office 365业务。 如果我在运行Office 2010的计算机上运行此相同的语法,则它将执行完全相同的操作,并自由创buildExcel对象错误。 为了能够使用Microsoft Office 365 Business运行此语法,必须更改什么? 编辑 这是我看到的唯一的registry密钥 – 它接近,但不完全是评论中所述。

从Excel导入特定的单元格到MS Access

嘿stackoverflow社区, 我试图从Excel表导入一个特定的单元格到MS访问。 我已经在Access中创build了一个代码,它将excel中的特定字段放在访问表中。 Const fName As String = "C:\Users\…\" & varP_ID & ".xlsb" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "ImportData", _ fName, False, "Project Details!H12:H12" 问题是,Excel文件是非常dynamic和变化的。 正因为如此,我在excel中logging了一个macros查找表中的特定字段。 Dim Field As String Cells.Find(What:="goal", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate Selection.End(xlDown).Select Field = Selection.Text 我把我要导入的单元格放在variables“Field”中。 现在我不知道,如何把这两个代码结合起来。 我如何获得访问variables“字段”? 我必须在访问代码,我从Excel中导入一个特定的单元格,这是在每个Excel表格在不同的地方?

Access-VBA检查打开的Excel工作簿中的单元格是否为空,然后复制该行

这是我第一次在这里问一个问题。 我遇到了一个问题,我需要将某个行从一个工作簿复制到另一个工作簿。 复制部分,我相信我可能已经解决了,但我的问题是非常简单的事情。 要确定要复制哪些行,我必须查看第一个工作簿中的4个date,一个与他们检查我遇到麻烦是检查单元格是否为空。 由于每次运行我的代码时都会在检查时出现不匹配的错误13。 Dim XX As Excel.Application —-secondary workbook Dim ws1 As Object Dim ws As Object Set XX = New Excel.Application XX.DisplayAlerts = False Set ws1 = XX.Workbooks.Add ws1.Activate Set ws = ws1.ActiveSheet Set xl = New Excel.Application —-primary workbook xl.DisplayAlerts = False Set wb = xl.Workbooks.Open(FilePath) For i = 2 To […]

MS Access VBA无法在Excel中创build新的表格obj

我遇到问题,从Excel中的VBA模块的Excel电子表格中创build一个新表。 这是我的代码: Option Compare Database Option Explicit Sub QueryExportMod() Dim db As DAO.Database Set db = CurrentDb Dim xlApp As Excel.Application Dim wb As Excel.Workbook Dim ws As Excel.Worksheet Set xlApp = New Excel.Application Set wb = xlApp.Workbooks.Open(CurrentProject.Path & "\ExportExcelTest.xlsm") Set ws = wb.Worksheets("Sheet1") ws.ListObjects.Add(xlSrcRange, Range("$A$20:$B$21"), , xlYes).Name = "tb2" xlApp.Visible = True xlApp.Run "callAG" […]

无法closuresexcel进程的Application.Quit和令人不安的进程更新xls文件

我有一些问题与我的VBA代码在Access上运行并更新现有的Excel文件。 我必须为每个销售人员创buildxls文件,并通过将每月销售点的客户分组来通过从ODBC驱动程序连接到Oracle数据库的Access accdb文件导出数据来更新单元格。 我们有大约50个销售人员,每个销售人员必须创build2个文件。 所以,如果我不能解决这个问题,我将在我的电脑上有100个excel进程。 即使成功运行带有VBA的accdb,也可能会冻结。 问题: 不能通过Application.Quit来closuresExcel进程,我试图通过Excel.Application.Workbooks对象打开一个xls文件,它似乎被它的xls文件甚至我用过.Close SaveChanges:= True 不能重新处理VBA代码针对以前的Excel文件操作过程相同的文件原因留下,我确认它在任务pipe理器,我必须手动杀死过程每次。 请build议我解决这个问题。 我不是很专业的VBA开发,但我在互联网和MSDN网站search,我找不到任何好的解决scheme呢。 但是,如果你能帮助我。 我会赞赏它。 Option Compare Database Const TARGET_SHEET = "SalesObjectiveSheet" Const FILE_CREATION_WORK_FOLDER As String = "Work" Const DESTINATION_ROOTPATH As String = "C:\Users\Administrator\Desktop" Const TARGET_SHEET2 As String = "SalesObjectivesSheet" Const HEADING_LINE_POSITION As Integer = 3 Public objApp As Excel.Application Public objBooks As Excel.Workbooks Public […]

Excel / Access,如何将查询的内容导出到预先存在的工作表而不会中断引用?

所以我有这个大的Excel工作簿有一个工作表的几个引用(在同一个工作簿),并且这个工作表必须定期更新从MS Access数据库中的查询(这是我写在MS Access VBA中的代码) 。 但是,我不知道如何将查询导出到该工作簿/工作表,没有“replace”工作表,搞乱了所有的引用。 还有另一种方法吗?

vba Range.Find使用后期绑定返回null

我有一个MS Access(2007)应用程序需要更新一个Excel电子表格在一个点上。 我的用户有不同版本的MS Office不同的工作站,所以我使用后期绑定来操作电子表格。 之前我意识到我不得不使用晚绑定我写了所有的代码,它工作正常后,将其更改为迟绑定查找function返回null,即使我改变它之前工作的数据。 Private Sub SaveRejectsToExcel() Dim ExcelApp As Object Dim wbk As Object On Error Resume Next Set ExcelApp = GetObject(, "Excel.Application") If Err.Number <> 0 Then Err.Clear Set ExcelApp = CreateObject("Excel.Application") End If Set wbk = ExcelApp.Workbooks.Open(CurDir & "\TestRejectsSS.xlsx") ExcelApp.Visible = True With wbk Me.subForm.Form.Recordset.MoveFirst Do While Me.subForm.Form.Recordset.EOF = False Dim […]

检查MS Access中是否存在命名范围

我在Access中使用下面的VBA在Excel中导入一个名为“Drop”的范围,但是,如果范围Drop存在于Excel中,如何首先检入Access: DoCmd.TransferSpreadsheet , acSpreadsheetTypeExcel12, "tblCustomerImportDrop", ExcelFilePath, True, "Drop" 或者,有没有办法抑制错误3011(当它无法find范围时产生),并继续我的代码?

使用来自访问的公式来自动化Excel列

我有一个excel电子表格有一个公式=IF(L2=N2, IF(N2>0,TRUE, FALSE), FALSE)给我一个真或假的值。 如果我在Excel中打开这个电子表格,并按升序对它进行sorting,那么sorting是正确的。 从logging返回的macros如下所示。 ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Add _ Key:=Range("X1:X2188"), SortOn:=xlSortOnValues, Order:=xlAscending, _ DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 当我转移到访问我有。 With WorkSheet .AutoFilter.Sort.SortFields.Clear .AutoFilter.Sort.SortFields.add _ Key:=.range("X1:X2188"), SortOn:=0, Order:=1, DataOption:=0 With .AutoFilter.Sort .Header = 1 .MatchCase = False .Orientation = 1 […]