powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB > VBA > VB
9 сообщений из 9, страница 1 из 1
VB > VBA > VB
    #38117160
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добрый день.
Ребят подскажите бьюсь уже 2 день.

есть код VB который запускает макрос
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public sub Macr()
dim a as long
dim b as string
a=1
b="до"
...
.run ("PERSONAL!Macros.Work",a,b)
....
msgbox (a & chr(10) & b)
end sub




есть код VBA
Код: vbnet
1.
2.
3.
4.
sub Work (ByVal a As long, ByVal b as String)
a=2
b="на"
end sub



вот как вернуть в VB значение полученные из макроса?
...
Рейтинг: 0 / 0
VB > VBA > VB
    #38117290
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
sub Work (ByRef a As long, ByRef b as String)

?
...
Рейтинг: 0 / 0
VB > VBA > VB
    #38117330
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM
Код: vbnet
1.
sub Work (ByRef a As long, ByRef b as String)

?

пишет VB ошибка несовпадений типов.
...
Рейтинг: 0 / 0
VB > VBA > VB
    #38117335
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В которой из переменных? - попробуйте их поодиночке передать.
И, например, задайте As String * 20
...
Рейтинг: 0 / 0
VB > VBA > VB
    #38117365
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fochaесть код VB который запускает макросЭто не код, а какой-то кастрированный ублюдок. Из которого не видно вообще ничего.
Показывайте весь код.

Fochaкак вернуть в VB значение полученные из макроса?Через параметры? никак.
Можно попробовать конвертировать процедуру в функцию.
...
Рейтинг: 0 / 0
VB > VBA > VB
    #38118695
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
программа

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Public Sub Macr()
dim a as long
dim b as string
a=0
b="Макрос не сработал"

        Excel = CreateObject("Excel.Application")
        With Excel
            .Visible = True
            With .WorkBooks.Open("D:\Work.xls")
                .Application.Run("'PERSONAL!Macros.Work", a,b)
            End With
        End With

        MsgBox(b & chr(10) & "Кол-во строк " & a)
    End Sub



макрос

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub Work (ByVal a As long, ByVal b as String)
       Do
         a =a + 1
              If Range("E" & a) = "" Then Exit Do  
       Loop
b="Макрос сработал"
End Sub



по одному пробовал не идет, ByVal он создает копию переменной а ByRef работает с переменной
...
Рейтинг: 0 / 0
VB > VBA > VB
    #38118783
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не понял...

Не пробовали объект для открываемой книги определить?
Вместо процедуры функцию пробовали делать?
Что значит "по одному не идет"? - какая ошибка?
...
Рейтинг: 0 / 0
VB > VBA > VB
    #38118790
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMНичего не понял...

Не пробовали объект для открываемой книги определить?
Вместо процедуры функцию пробовали делать?
Что значит "по одному не идет"? - какая ошибка?


Вместо процедуры функцию пробовали делать?
нет, не пойму как это сделать

Что значит "по одному не идет"? - какая ошибка?
ни по одному ни сразу два, ошибка несовпадений типов.
...
Рейтинг: 0 / 0
VB > VBA > VB
    #38118816
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FochaВместо процедуры функцию пробовали делать?
нет, не пойму как это сделать
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
                a = .Application.Run("'PERSONAL!Macros.Work", a)
...
Function Work (ByVal a As long) As long
       Do
         a =a + 1
              If Range("E" & a) = "" Then Exit Do  
       Loop
Work = a
End Function
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB > VBA > VB
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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