Страницы: 1
RSS
Auto_open в двух модулях
 
Здраствуйте!Как переделать макрос
Код
1
2
3
4
5
6
7
8
Sub Auto_open()
    PathToInfo = Лист2.Cells(1, 2)
    FunctionResult = TRANS2QUIK_CONNECT(PathToInfo, pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
    FunctionResultString = Trans2QuikResultToStr(FunctionResult)
    Open Лист2.Cells(6, 2) For Append As #1
    Print #1, ""; FunctionResultString = " & FunctionResultString & vbCrLf &; """
    Close #1
End Sub

чтобы этот код был в двух стандартных модулях и чтобы они запускались!?по идее как то переименовать макрос или ссылку на модуль!
 
А зачем создавать 2 копии этого макроса?
Он что, от этого, в 2 раза быстрее или стабильнее работать начнёт?

Если макрос сейчас работает - зачем его переделывать?
Если не работает - зачем его размножать?
 
так и знал что будет этот вопрос!макрос работает!я не особо еще в экселе разбираюсь,но по моей идее на одном модуле будет еще
Цитата
Public Declare Function TRANS2QUIK_CONNECT Lib "E:\1\2013\trans2quik.dll" _
   Alias "_TRANS2QUIK_CONNECT@16" _
   (ByVal lpstConnectionParamsString As String, _
    ByRef pnExtendedErrorCode As Long, _
    ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long
Public Declare Function TRANS2QUIK_SEND_ASYNC_TRANSACTION Lib "E:\1\2013\trans2quik.dll" _
    Alias "_TRANS2QUIK_SEND_ASYNC_TRANSACTION@16" _
   (ByVal lpstTransactionString As String, _
    ByRef pnExtendedErrorCode As Long, _
    ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long
    Public Declare Function lstrlen Lib "kernel32.dll" (ByVal lpString As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Sou
Public Function Trans2QuikResultToStr(ByVal Num As Long) As String
   If Num = 0 Then Trans2QuikResultToStr = "TRANS2QUIK_SUCCESS"
   If Num = 1 Then Trans2QuikResultToStr = "TRANS2QUIK_FAILED"
   If Num = 2 Then Trans2QuikResultToStr = "TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND"
   If Num = 3 Then Trans2QuikResultToStr = "TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED"
   If Num = 4 Then Trans2QuikResultToStr = "TRANS2QUIK_ALREADY_CONNECTED_TO_QUIK"
   If Num = 5 Then Trans2QuikResultToStr = "TRANS2QUIK_WRONG_SYNTAX"
   If Num = 6 Then Trans2QuikResultToStr = "TRANS2QUIK_QUIK_NOT_CONNECTED"
   If Num = 7 Then Trans2QuikResultToStr = "TRANS2QUIK_DLL_NOT_CONNECTED"
   If Num = 8 Then Trans2QuikResultToStr = "TRANS2QUIK_QUIK_CONNECTED"
   If Num = 9 Then Trans2QuikResultToStr = "TRANS2QUIK_QUIK_DISCONNECTED"
   If Num = 10 Then Trans2QuikResultToStr = "TRANS2QUIK_DLL_CONNECTED"
   If Num = 11 Then Trans2QuikResultToStr = "TRANS2QUIK_DLL_DISCONNECTED"
   If Num = 12 Then Trans2QuikResultToStr = "TRANS2QUIK_MEMORY_ALLOCATION_ERROR"
   If Num = 13 Then Trans2QuikResultToStr = "TRANS2QUIK_WRONG_CONNECTION_HANDLE"
   If Num = 14 Then Trans2QuikResultToStr = "TRANS2QUIK_WRONG_INPUT_PARAMS"
End Function[CODE],
а в другом модуле будет тоже самое,но измениться пути к библиотекам которые они будут подключать!В Auto_open изменится путь до программы квик(программа для торговли на бирже)!Вообще ради чего все это замышляется -это из одного квика данные поступают в лист1,а из второго квика в лист2
 
или тогда получается как то изменить названия функций чтобы они были по отдельности
 
а как тогда функции изменить?
 
Не вполне понятна проблема.
Может быть
Код
1
2
3
4
Sub Auto_open()
call macro1
call macro2
End Sub


а сами эти макросы расположить в двух разных модулях, у каждого свои Private declale
http://www.firststeps.ru/vba/vbahelp/r.php?11
 
Спасибо за подсказку :) !Если завтра не напишу,то значит все работает хорошо! ;)
Страницы: 1
Читают тему
Наверх
Loading...