2017-01-17 2 views
0

У меня есть этот вопрос, можете ли вы вернуть экземпляр/объект excel для использования в подкатегории Что я имею в виду вместо того, чтобы писать один и тот же код снова и снова каждый раз, когда мне нужно открыть документ excel. Я хотел бы вызвать функцию, что открытое первенствует что-то вроде этогоМожете ли вы вернуть объект excel для использования в Sub

Public Function TestExcel(ByVal filePath As String) As Object 

Dim oExcel As Object 
Dim oBook As Object 
Dim oSheet As Object 

Set oExcel = CreateObject("Excel.Application") 
Set oBook = oExcel.Workbooks.Open(filePath) 
Set oSheet = oBook.Sheets(1) 

Set TestExcel = oSheet 

End Function 
Sub test() 
Dim oSheet As Object 
Set oSheet = TestExcel("C:\Users\MYfile") 
test = oSheet.Range("B" & excelRow).Value 
'Or something like this 
number = 10 
osheet.Range("B" & excelRow).Value = number 
End Sub 

ответ

0

function functionname(args) as excel.workbook и в этой функции, как правило, ближе к концу, вы говорите set functionname = oBook, используя свой пост

Например

Function OpenWorkBook(strPath as string) as Excel.workbook 
    set OpenWorkbook=workbooks.open (strPath) 
end function 

и его использование

dim x as excel.workbook 
set x=openworkbook("c:\test.xlsx") 
+0

Thats it, thank you very much – CarstenW

Смежные вопросы