Вопрос № 87704: Уважаемые эксперты, подскажите как к создаваемому проекту подключить ехе - файл. например я хочу чтобы в моей программе при нажатии на кнопку открывалась другая программа написанная на другом языке (в общем есть только ехе). Заранее благодарен....Вопрос № 87708: Здравствуйте, уважаемые эксперты!
Хочу задать вопрос по VBA.
Я не понимаю, как в качестве аргументов функции передавать массивы.
Вот часть программы:
Option Base 1
Sub schet()
Worksheets("Лист1").Activate
D...
Вопрос № 87.704
Уважаемые эксперты, подскажите как к создаваемому проекту подключить ехе - файл. например я хочу чтобы в моей программе при нажатии на кнопку открывалась другая программа написанная на другом языке (в общем есть только ехе). Заранее благодарен.
Отправлен: 20.05.2007, 09:12
Вопрос задал: Vaskasper (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Alec Perle
Здравствуйте, Vaskasper!
Для запуска программ используйте функцию Shell (pathname[,windowstyle]), например:
Shell "C:Program FilesWinampWinamp.exe"
--------- Пессимист - это хорошо информированный оптимист (а оптимист - хорошо проинструктированный пессимист)
Ответ отправил: Alec Perle (статус: 8-ой класс)
Ответ отправлен: 20.05.2007, 22:51
Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Vaskasper!
Действительно, как указано в ответе Alec Perle, для выполнения внешних программ существует функция Shell, например
Shell ( "D:obr.bat" , vbMaximizedFocus )
В этом случае программа запускает на выполнение внешний файл и продолжает работу.
Иногда необходимо дождаться завершения работы этого файла, и только потом продолжать работу. Тогда поможет код из приложения. Это немного переделанный код из примера, поэтому объяснения на двух языках.
Если будут вопросы, пишите Jones@rusfaq.ru
С уважением.
Здравствуйте, уважаемые эксперты!
Хочу задать вопрос по VBA.
Я не понимаю, как в качестве аргументов функции передавать массивы.
Вот часть программы:
Option Base 1
Sub schet()
Worksheets("Лист1").Activate
Dim y01, y02 As Single
Dim n1, n2, n3, dn1, dn2, dn3 As Integer
Dim a(5), b(5) As Single
Dim x01, x02 As Single
a(1) = 1.1611
b(1) = 1.4462
a(2) = 2.611
b(2) = 10.70319
a(3) = 2.0203
b(3) = 5.68038
a(4) = 1.0537
b(4) = 1.13792
a(5) = 2.074
b(5) = 6.06063
a(6) = 1.1074
b(6) = 1.28657
x01 = 1.2148
x02 = 2.3425
Counter x01, x02, a, b, n1, n2, n3, y01, dn1, dn2, dn3, y02
Cells(2, 1) = y01
Cells(4, 1) = n1
Cells(5, 1) = n2
Cells(6, 1) = n3
End Sub
Sub Counter(ByVal x01 As Single, ByVal x02 As Single, a() As Single, b() As Single, n1 As Integer, n2 As Integer, n3 As Integer, y01 As Single, dn1 As Integer, dn2 As Integer, dn3 As Integer, y02 As Single)
Dim xmin1, xmin2, xmax1, xmax2 As Single
Dim c(5) As Single
Dim d(5) As Single
Ошибке пишется в главной функции, где я передаю массивы a и b
Написано: "Type mismatch: array or user-defined type expected"
Но я делаю ровно, так как в книге написано. Пробовал при передаче массивов писать a(), a(5), но не помогает
Отправлен: 20.05.2007, 10:13
Вопрос задал: Ignition99 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: PsySex
Здравствуйте, Ignition99!
1. Вот такое объявление переменных:
Dim a(5), b(5) As Single
a(5) - не я вляется Single, а будет Variant, правильное объявление
Dim a(5) As Single, b(5) As Single
Касается и остальных, например: Dim n1, n2, n3, dn1, dn2, dn3 As Integer
2.Вот пример передачи массива:
===========================================
Private Sub Command1_Click()
Dim asd(10) As Integer
Call SomeFunc(asd())
End Sub
Private Function SomeFunc(zas() As Integer)
MsgBox zas(2)
'...
End Function
===========================================
--------- Bom Shankar!
Ответ отправил: PsySex (статус: Практикант)
Ответ отправлен: 20.05.2007, 22:44