Dlaczego nie działa kod w VB.net, ale działa w VBA; GetObject
Kod VBA działa świetnie:
Sub testVBA()
Dim wb As Object ' Lotus123.Document
Set wb = GetObject("S:\Temp\T\0375D.WK3", "Lotus123.Workbook")
End Sub
Kod VB.net nie działa:
Sub TestVBNet()
Dim wb As Object ' Lotus123.Document
wb = GetObject("S:\Temp\T\0375D.WK3", "Lotus123.Workbook")
End Sub
W VB.net otrzymuję wyjątek FileNotFoundException: „Nazwa pliku lub nazwa klasy nie została znaleziona podczas operacji automatyzacji”.
Ponieważ mogę go uruchomić z VBA, oznacza to, że plik istnieje i istnieje nazwa klasy. Dlaczego więc nie działa i jak mogę to naprawić w VB.net.
EDYCJA: Domyślam się, że nie jestem pewien, jak zacząć diagnozowanie tego: Oczywiście klasa istnieje na moim komputerze, ale jakoś VB.net nie potrafi jej znaleźć. Może VB.net używa innej metody aktywacji klasy. Może brakuje wpisu do rejestru. Cieszę się z wszelkich sugestii.
Edytuj 2: Próbowałem również użyć CreateObject i otrzymałem ten błąd: „Nie można utworzyć składnika ActiveX”. Nie niespodziewany.