对象库未注册

时间:2014-05-23 19:16:11

标签: vba excel-vba ms-access-2007 sharepoint-2007 excel-2007

我正在使用Access(2007)vba来处理Sharepoint 2007文档库上的Excel(ACCDB)工作簿。在此过程中,我使用ExcelWB.ContentTypeProperties()proerty更新两个属性。多年来它一直很好用。今天,它停止了工作。它会抛出“未注册的对象库”错误。研究似乎表明我已经以某种方式获得了一个旧的DLL注册Excel,并且该接口使用的是不支持该属性的旧DLL。

我的图书馆全部被发现,上个月没有对机器进行任何更改(由我...)。它是一台客户端机器,因此我无法代表MS更新等。我怎样才能解决这个问题?它真的让我的客户坐在她的手上,无法工作。

Dim xlApp As Excel.Application
Dim xlWB As Excel.WorkBook
Dim xlSH As Excel.Worksheet
Dim xlRA As Excel.Range
Dim bValidWorkbook As Boolean
Dim lngTrueHighestRow As Long
Dim strWorkbookName As String

WorkbookMessage , 3                                   'Clears the message queue
bValidWorkbook = True
strNewTimesheetStatus = "Rejected"
Set xlApp = New Excel.Application
xlApp.visible = False                   'Don't let the workbook be shown
Set xlWB = xlApp.Workbooks.Open(URL)    'Open the workbook

lngCurrentVendorID = ParseVendor(strCurrentVendorName)         'Sets up the vendor recordset and the Labor rate Recordset. If it returns 0, it couldn't find the vendor
If lngCurrentVendorID = 0 Then
    bValidWorkbook = False
    WorkbookMessage "Workbook Rejected -- Vendor could not be validated"
    GoTo ExitWorkbook
End If
'
'   If the workbook is read-only, we can't proceed
'
If xlWB.ReadOnly Then
    bValidWorkbook = False
    WorkbookMessage "Workbook Rejected -- Workbook is read-only state"
    GoTo ExitWorkbook
End If

Set xlSH = xlWB.Worksheets(1)           'Must be the first worksheet in the workbook
strWorkbookName = xlWB.NAME

Set xlRA = xlSH.UsedRange               'xlRA is the range of cells in the first workbook that are "USED"
strSheetArray = xlRA                    'This sets an array of variants to the two dimensional range xlRA
xlRA.EntireRow.Hidden = False           'Unhides all rows to prevent misunderstandings.

... ... ... ...

If Not xlWB.ReadOnly Then
    xlWB.ContentTypeProperties("TimesheetStatus") = strValidateWorkbook***
    xlWB.ContentTypeProperties("OverrideStatus") = strNewOverrideStatus
    xlWB.Save 
End If

0 个答案:

没有答案