Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Передать массив данных из VB.Net в VBA / 4 сообщений из 4, страница 1 из 1
20.08.2012, 00:24
    #37922352
Zaharius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать массив данных из VB.Net в VBA
Создаю строковой массив в коде VB.Net, затем открываю вордовский документ с определённым VBA-кодом:
Dim transpArray() as String = {"Вася", "Коля", "Саша"}

wdApp = CreateObject("Word.application")
wdDoc = CreateObject("Word.document")
wdDoc = .Documents.Open(“C:\Proba.doc”)


Как мне без использования промежуточных файлов напрямую передать массив из VB.Net-приложения в макрос открытого документа?
...
Рейтинг: 0 / 0
20.08.2012, 02:42
    #37922396
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать массив данных из VB.Net в VBA
У вас "макрос открытого документа" принимает в качестве параметра ParamArray() ?
Или вы хотите в wdApp создать копию вашего массива, доступного в коде вызываемого приложения?
...
Рейтинг: 0 / 0
20.08.2012, 04:26
    #37922413
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать массив данных из VB.Net в VBA
Кстати, попробуйте примерно так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
' === Proba.doc ===
Sub test01(aMy As Variant)
    MsgBox Join(aMy, ";")
End Sub

'=== Проект ===
' ...
        Dim transpArray() As String = {"Вася", "Коля", "Саша"}

        Dim wdApp As Object
        wdApp = CreateObject("Word.application")
        wdApp.Documents.Open("proba.doc")
        wdApp.Visible = True

        wdApp.Run("test01", transpArray)
' ...
...
Рейтинг: 0 / 0
20.08.2012, 10:23
    #37922596
Zaharius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать массив данных из VB.Net в VBA
AndreTMКстати, попробуйте примерно так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
' === Proba.doc ===
Sub test01(aMy As Variant)
    MsgBox Join(aMy, ";")
End Sub

'=== Проект ===
' ...
        Dim transpArray() As String = {"Вася", "Коля", "Саша"}

        Dim wdApp As Object
        wdApp = CreateObject("Word.application")
        wdApp.Documents.Open("proba.doc")
        wdApp.Visible = True

        wdApp.Run("test01", transpArray)
' ...



ОГРОМНОЕ СПАСИБО. ЭТО ТО, ЧТО НАДО!!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Передать массив данных из VB.Net в VBA / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]