VBA сталкивается с проблемой с функцией НАЙТИ с помощью Word

В настоящее время я борюсь с нижеследующими требованиями:

а. Прочтите файл Excel, размещенный на SharePoint, из Word с помощью VBA. б. Найдите значение в определенном столбце и определите эту строку в. На основе этой строки прочитайте значение из одной и той же строки из разных столбцов.

Код приведен ниже:

Sub Return_a_Value_from_Excel()
     Dim mySpreadsheet As Excel.workbook
     Dim strSalesTotal As String, i As Object
     
     Set mySpreadsheet = GetObject("Sharepoint/xlsx") ' Code breaks here
        
     Set i = mySpreadsheet.Worksheets("Sheet1").Range("AO:AO").Find(What:=2272, LookIn:=xlValues).Row
     
     'mySpreadsheet.Application.ActiveSheet.Range("A1:AO1000").Find(2272).Row ' Code breaks here
     
     strSalesTotal = mySpreadsheet.Cells(i, 42)
     Set mySpreadsheet = Nothing
     Selection.TypeText strSalesTotal
     
     Selection.TypeParagraph
     
End Sub

57
1

Ответ:

Решено

Что-то вроде этого должно работать:

Sub Return_a_Value_from_Excel()
     
    Dim xlApp As Excel.Application, xlWb As Excel.Workbook
    Dim res, srch
    
    Set xlApp = New Excel.Application
    xlApp.Visible = True 'for troubleshooting...
    Set xlWb = xlApp.Workbooks.Open("pathtosharepointfile.xlsx")
    
    srch = 2272 'value to be searched
    'assuming you want an exact match...
    res = xlApp.VLookup(srch, xlWb.Worksheets("Sheet1").Range("AO:AP"), 2, False)
    
    If Not IsError(res) Then 'got a match?
        Selection.TypeText res
        Selection.TypeParagraph
    Else
        MsgBox "No match found for value '" & srch & "'", vbExclamation
    End If
    
    xlWb.Close False
    xlApp.Quit
     
End Sub