Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB > VBA > VB / 9 сообщений из 9, страница 1 из 1
20.01.2013, 23:15
    #38117160
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB > VBA > VB
добрый день.
Ребят подскажите бьюсь уже 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
21.01.2013, 03:18
    #38117290
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB > VBA > VB
Код: vbnet
1.
sub Work (ByRef a As long, ByRef b as String)

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

?

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

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

Код: 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
21.01.2013, 22:00
    #38118783
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB > VBA > VB
Ничего не понял...

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

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


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

Что значит "по одному не идет"? - какая ошибка?
ни по одному ни сразу два, ошибка несовпадений типов.
...
Рейтинг: 0 / 0
21.01.2013, 22:49
    #38118816
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB > VBA > VB
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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB > VBA > VB / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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