Eu tenho uma função em um arquivo do Excel que retorna uma classe personalizada, quando eu tento chamar essa função do VBScript eu recebo um "erro de execução desconhecido"
Exemplo de código VBA:
Function myVBAFunc() As Variant
Set myClass1 = New Class1
myClass1.Name = "Test"
Set myVBAFunc= myClass1
End Function
Chamando o código VBScript:
Set Excel = CreateObject("Excel.Application")
Set Workbook = Excel.Workbooks.open("C:myFile.xls")
Set myRes = Excel.Run("myVBAFunc")
Excel.Quit
Eu estou recebendo um erro quando eu tento definir myRes, eu assumo isso é causado pelo VBScript não reconhecendo o tipo do objeto. Existe alguma maneira de contornar isso?
Obrigado, Achraf
Respostas:
3 para resposta № 1Você precisa alterar a propriedade de instanciação do módulo de classe (em sua janela de propriedades) de Privado para PublicNotCreatable.
(Você também pode digitar estritamente a função)
Function myVBAFunc() As Class1
Set myVBAFunc= New Class1
myVBAFunc.Name = "Test"
End Function