Я диагностирую приложение Visual Basi c, которое использовало сборку взаимодействия Word для автоматизации некоторых процессов Office. Он работал в нашей производственной среде и работал до (как мне кажется) автоматического обновления c для экземпляра Office на пользовательских машинах.
В ходе моих исследований, направленных на решение этой проблемы, мне сообщили, что сборки взаимодействия Office зависят от того, все ли пользователи используют одну и ту же версию Office. Поскольку это не реалистичный сценарий c, я пытаюсь изменить текущий код, чтобы избавить его от зависимости от сборки взаимодействия Word, включая изменение типов значений переменных, участвующих в типе Object, аналогично примеру кода ниже:
Dim objBook As Object
Dim objBooks As Object
Dim objSheets As Object
Dim objSheet As Object
Dim range As Object
' Instantiate Excel and start a new workbook.
objApp = CreateObject("Excel.Application")
objBooks = objApp.Workbooks
objBook = objBooks.Add
objSheets = objBook.Worksheets
objSheet = objSheets.Item(1)
range = objSheet.Range("A1")
'Set the range value.
range.Value = "Hello, World!"
'Return control of Excel to the user.
objApp.Visible = True
objApp.UserControl = True
Можно ли каким-либо образом определить объекты ActiveDocument и Selection из переменной, которая, хотя и может содержать объект Application, имеет тип Object? Я не могу назвать его Excel.Application , потому что это будет означать ссылку на взаимодействие и последующее поражение цели.
Кстати, я использую Word для Office 365 и VS2017 на Windows 10 64-бит.
Любые идеи и / или предложения, конечно, будет принята с благодарностью.