Возможно ли использовать библиотеки .NET в макросах для Word на VB? - VBA

Узнай цену своей работы

Формулировка задачи:

Нужно написать костыль на пару десятков строк, сижу и понимаю что с .NET я это сделаю за 20 минут, а пока изучу этот VB пол дня пройдет. Есть возможность пользоваться библиотеками .NET в макросах?

Решение задачи: «Возможно ли использовать библиотеки .NET в макросах для Word на VB?»

textual
Листинг программы
  1. In this article by the Scripting Guys an alternative technique is discussed: ArrayLists.
  2. The ArrayList is a .NET Framework class, which means it requires the .NET Framework.
  3.  
  4. The following code is used to create an ArrayList and "populate" it with some data:
  5.  
  6. ' this code creates and populates an ArrayList
  7. Set myArrayList = CreateObject( "System.Collections.ArrayList" )
  8. myArrayList.Add "F"
  9. myArrayList.Add "B"
  10. myArrayList.Add "D"
  11. myArrayList.Add "C"
  12. Now, to add an element and sort the ArrayList, all we need to do is:
  13.  
  14. ' [1] add the new element to the ArrayList
  15. myArrayList.Add "Z"
  16. ' [2] sort the ArrayList
  17. myArrayList.Sort
  18.  
  19. или вот рабочий пример
  20. Function Unique(DRange As Variant) As Variant
  21.     Dim Dict As Object, Result As Object
  22.     Dim i As Long, j As Long, NumRows As Long, NumCols As Long
  23.  
  24.  
  25.     If TypeName(DRange) = "Range" Then DRange = DRange.Value2
  26.     NumRows = UBound(DRange)
  27.     NumCols = UBound(DRange, 2)
  28.  
  29.     Set Dict = CreateObject("System.Collections.HashTable")
  30.     For i = 1 To NumCols
  31.         For j = 1 To NumRows
  32.             If Len(DRange(j, i)) Then
  33.                 Dict(DRange(j, i)) = DRange(j, i)
  34.             End If
  35.         Next j
  36.     Next i
  37.     Set Result = CreateObject("System.Collections.ArrayList")
  38.     Result.AddRange Dict.Keys
  39.     Result.Sort
  40.     Unique = Application.WorksheetFunction.Transpose(Result.ToArray)
  41. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы